/*      */ package dm.jdbc.driver;
/*      */ 
/*      */ import dm.jdbc.dataConvertion.CType2JType;
/*      */ import dm.jdbc.dbaccess.Const;
/*      */ import dm.jdbc.dbaccess.DBError;
/*      */ import dm.jdbc.dbaccess.FetchDaemons;
/*      */ import dm.jdbc.desc.ColumnDesc;
/*      */ import dm.jdbc.desc.CommDesc;
/*      */ import dm.jdbc.desc.GlobalControlCfg;
/*      */ import dm.jdbc.innerData.DmdbParamVal;
/*      */ import dm.jdbc.util.StringUtil;
/*      */ import dm.sql.DmdbIntervalDT;
/*      */ import dm.sql.DmdbIntervalYM;
/*      */ import dm.sql.TypeDescriptor;
/*      */ import java.io.InputStream;
/*      */ import java.io.Reader;
/*      */ import java.math.BigDecimal;
/*      */ import java.net.URL;
/*      */ import java.sql.Array;
/*      */ import java.sql.Blob;
/*      */ import java.sql.Clob;
/*      */ import java.sql.Date;
/*      */ import java.sql.Ref;
/*      */ import java.sql.ResultSet;
/*      */ import java.sql.ResultSetMetaData;
/*      */ import java.sql.SQLException;
/*      */ import java.sql.SQLWarning;
/*      */ import java.sql.Statement;
/*      */ import java.sql.Time;
/*      */ import java.sql.Timestamp;
/*      */ import java.util.Calendar;
/*      */ import java.util.Hashtable;
/*      */ import java.util.LinkedList;
/*      */ import java.util.Map;
/*      */ import java.util.ResourceBundle;
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ public class DmdbResultSet_bs
/*      */   implements ResultSet, Cloneable
/*      */ {
/*      */   DmdbResultSetCache rsCache;
/*      */   public LinkedList rsCacheList;
/*  168 */   public int cacheCount = 0;
/*      */   
/*      */   Thread fetchThread;
/*      */   
/*  172 */   public SQLException fetchThreadError = null;
/*      */   
/*  174 */   private boolean m_multiRsCaches = false;
/*      */   
/*  176 */   DmdbStatement_bs statement = null;
/*      */   
/*  178 */   DmdbConnection_bs conn = null;
/*      */   
/*  180 */   protected SQLWarning m_warnings = null;
/*      */   
/*      */ 
/*      */ 
/*      */   protected int maxFieldSize;
/*      */   
/*      */ 
/*      */ 
/*  188 */   protected boolean isClosed = false;
/*      */   
/*      */ 
/*      */   int fetchDirection;
/*      */   
/*      */ 
/*      */   int fetchSize;
/*      */   
/*      */ 
/*      */   protected int resultSetType;
/*      */   
/*      */ 
/*      */   protected int resultConcurrencyType;
/*      */   
/*      */   protected int resultSetHoldability;
/*      */   
/*  204 */   protected boolean wasNullFlag = false;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*  209 */   private boolean m_ignorCase = true;
/*      */   
/*  211 */   long startRow = 0L;
/*      */   
/*  213 */   DmdbInfo dbInfo = null;
/*  214 */   DmdbColumn[] colInfo = null;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*  219 */   protected long currentRow = -1L;
/*      */   
/*  221 */   Hashtable m_updateParams = new Hashtable();
/*      */   
/*      */ 
/*      */ 
/*  225 */   protected boolean isUpdateStatus = false;
/*      */   
/*      */ 
/*  228 */   protected boolean isInsertStatus = false;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*  234 */   boolean metaRsFlag = false;
/*      */   
/*  236 */   public long rowCount = 0L;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*  242 */   public long maxRows = 0L;
/*  243 */   public boolean fromRsCachePool = false;
/*      */   
/*  245 */   int columnCount = 0;
/*      */   
/*  247 */   String serverEncoding = null;
/*      */   
/*  249 */   DmdbBlob[][] m_blobArray = null;
/*  250 */   DmdbClob[][] m_clobArray = null;
/*  251 */   private boolean m_lobCached = false;
/*      */   
/*  253 */   short rsId = 0;
/*      */   
/*  255 */   boolean m_fromStandby = false;
/*      */   
/*  257 */   private boolean isBdta = false;
/*      */   
/*      */   DmdbResultSet_bs() {}
/*      */   
/*      */   public int getDataLen()
/*      */   {
/*  263 */     return this.rsCache.realLen;
/*      */   }
/*      */   
/*      */   public void setStatement(DmdbStatement_bs stmt) throws SQLException {
/*  267 */     this.statement = stmt;
/*  268 */     this.conn = ((DmdbConnection_bs)stmt.getConnection());
/*      */   }
/*      */   
/*      */   private void cacheLob() throws SQLException {
/*  272 */     if ((this.conn == null) || (this.statement == null) || (this.colInfo == null) || 
/*  273 */       (this.rsCache == null) || (this.colInfo.length == 0) || 
/*  274 */       (this.colInfo[0].getDesc().getLobMode() != 2)) {
/*  275 */       return;
/*      */     }
/*  277 */     int rowCountTemp = (int)this.rowCount;
/*  278 */     if ((rowCountTemp <= 0) || (rowCountTemp != this.rsCache.rownum)) {
/*  279 */       return;
/*      */     }
/*  281 */     this.m_blobArray = new DmdbBlob[rowCountTemp][this.columnCount];
/*  282 */     this.m_clobArray = new DmdbClob[rowCountTemp][this.columnCount];
/*      */     
/*  284 */     boolean isBlob = false;
/*  285 */     for (short col = 0; col < this.columnCount; col = (short)(col + 1)) {
/*  286 */       CommDesc desc = this.colInfo[col].getDesc();
/*      */       
/*  288 */       if (desc.getIsLob())
/*      */       {
/*      */ 
/*  291 */         if (desc.getDType() == 12) {
/*  292 */           isBlob = true;
/*      */         } else {
/*  294 */           isBlob = false;
/*      */         }
/*  296 */         for (int row = 0; row < this.rowCount; row++) {
/*  297 */           if (row == 0) {
/*  298 */             this.rsCache.absolute(0);
/*      */           } else {
/*  300 */             this.rsCache.next();
/*      */           }
/*  302 */           byte[] value = this.rsCache.getBytes(col);
/*  303 */           if (value != null)
/*      */           {
/*      */ 
/*  306 */             if (isBlob) {
/*  307 */               this.m_blobArray[row][col] = ((DmdbBlob)CType2JType.getBlob(
/*  308 */                 value, desc, this.conn));
/*      */             } else
/*  310 */               this.m_clobArray[row][col] = ((DmdbClob)CType2JType.getClob(
/*  311 */                 value, desc, this.conn)); }
/*      */         }
/*      */       }
/*      */     }
/*  315 */     this.m_lobCached = true;
/*      */   }
/*      */   
/*      */   private void initialize(DmdbInfo info, DmdbResultSetCache cache, boolean fromStandby) throws SQLException
/*      */   {
/*  320 */     if (info != null) {
/*  321 */       this.dbInfo = ((DmdbInfo)info.clone());
/*  322 */       this.colInfo = info.getColumnsInfo();
/*  323 */       this.rowCount = info.getRowCount();
/*  324 */       this.columnCount = info.getColumnCount();
/*  325 */       this.statement = null;
/*  326 */       this.conn = null;
/*      */     }
/*      */     
/*  329 */     if (cache != null) {
/*  330 */       this.rsCache = cache;
/*  331 */       this.isBdta = (this.rsCache instanceof DmdbResultSetCache_v);
/*  332 */       this.statement = this.rsCache.statement;
/*  333 */       this.conn = this.statement.connection;
/*  334 */       this.maxFieldSize = 0;
/*  335 */       this.resultSetType = 1003;
/*  336 */       this.resultConcurrencyType = 1007;
/*  337 */       this.resultSetHoldability = 1;
/*  338 */       this.serverEncoding = this.conn.getServerEncoding();
/*      */       
/*  340 */       this.fetchDirection = 1000;
/*  341 */       this.fetchSize = 5;
/*  342 */       if (this.statement != null) {
/*  343 */         this.maxFieldSize = this.statement.getMaxFieldSize();
/*  344 */         this.resultSetType = this.statement.getResultSetType();
/*  345 */         this.resultConcurrencyType = this.statement.getResultSetConcurrency();
/*  346 */         this.resultSetHoldability = this.statement.getResultSetHoldability();
/*  347 */         this.fetchDirection = this.statement.getFetchDirection();
/*  348 */         this.fetchSize = this.statement.getFetchSize();
/*      */       }
/*      */       
/*      */ 
/*  352 */       this.m_ignorCase = this.conn.getIgnoreCase();
/*      */       
/*  354 */       this.m_multiRsCaches = ((this.conn.getMultiRsCaches()) && 
/*  355 */         (this.resultSetType == 1003) && (
/*  356 */         (!GlobalControlCfg.getEnRsCache()) || (this.dbInfo.getRsCacheOffset() == 0)));
/*  357 */       if (this.conn.getRscacheCount() > 1) {
/*  358 */         this.cacheCount = (this.conn.getRscacheCount() - 1);
/*      */       }
/*  360 */       if ((this.m_multiRsCaches) && (this.rowCount == Long.MAX_VALUE)) {
/*  361 */         this.rsCacheList = new LinkedList();
/*  362 */         this.fetchThread = new Thread(new FetchDaemons(this));
/*  363 */         this.fetchThread.setDaemon(true);
/*  364 */         this.fetchThread.start();
/*      */       }
/*      */     }
/*  367 */     if ((this.colInfo != null) && (GlobalControlCfg.getEnRsCache()) && 
/*  368 */       (info.getRsCacheOffset() > 0)) {
/*  369 */       for (int i = 0; i < this.colInfo.length; i++) {
/*  370 */         this.colInfo[i].getDesc().setLobMode(2);
/*      */       }
/*      */     }
/*  373 */     this.m_fromStandby = fromStandby;
/*      */     
/*  375 */     initializePara();
/*      */     
/*  377 */     cacheLob();
/*      */   }
/*      */   
/*      */   public void setConcurrencyType(int conType) {
/*  381 */     this.resultConcurrencyType = conType;
/*      */   }
/*      */   
/*      */   public void setHoldability(int hold) {
/*  385 */     this.resultSetHoldability = hold;
/*      */   }
/*      */   
/*      */   DmdbResultSet_bs(DmdbInfo info, boolean fromStandby) throws SQLException {
/*  389 */     initialize(info, null, fromStandby);
/*      */   }
/*      */   
/*      */   DmdbResultSet_bs(DmdbResultSetCache cache, DmdbInfo info, boolean fromStandby) throws SQLException
/*      */   {
/*  394 */     initialize(info, cache, fromStandby);
/*      */   }
/*      */   
/*      */   DmdbResultSet_bs(DmdbResultSetCache cache, DmdbInfo info, boolean fetchAll, boolean fromStandby) throws SQLException
/*      */   {
/*  399 */     initialize(info, cache, fromStandby);
/*      */     
/*  401 */     if (this.rowCount > this.rsCache.rownum) {
/*  402 */       fetchData(1, fetchAll);
/*      */     }
/*  404 */     this.metaRsFlag = true;
/*  405 */     initializePara();
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean next()
/*      */     throws SQLException
/*      */   {
/*  434 */     if (Const.TRACE_LEVEL > 0) {
/*  435 */       DmdbLog.trace(this, "next()", "");
/*      */     }
/*  437 */     checkClose();
/*      */     
/*  439 */     if (this.rowCount == 0L) {
/*  440 */       this.m_warnings = DBError.addSQLWarning(this.m_warnings, 100);
/*  441 */       return false;
/*      */     }
/*      */     
/*  444 */     if ((this.fromRsCachePool) && (this.maxRows != 0L) && (this.currentRow + 1L == this.maxRows)) {
/*  445 */       return false;
/*      */     }
/*  447 */     if (this.currentRow == -1L) {
/*  448 */       this.currentRow += 1L;
/*      */       
/*  450 */       if ((this.startRow == 0L) && (this.rsCache.rownum > 0)) {
/*  451 */         this.rsCache.absolute(0);
/*      */       }
/*  453 */       else if ((this.m_multiRsCaches) && (this.rsCacheList != null)) {
/*  454 */         fetch_for_multiRsCaches();
/*      */       } else {
/*  456 */         fetchData(1, false);
/*      */       }
/*      */       
/*      */ 
/*  460 */       return true;
/*      */     }
/*      */     
/*  463 */     if (this.currentRow < this.rowCount) {
/*  464 */       this.currentRow += 1L;
/*  465 */       if (this.currentRow == this.rowCount) {
/*  466 */         this.rsCache.next();
/*  467 */         return false;
/*      */       }
/*      */       
/*  470 */       if (this.currentRow >= this.startRow + this.rsCache.rownum) {
/*  471 */         this.startRow = this.currentRow;
/*  472 */         if ((this.m_multiRsCaches) && (this.rsCacheList != null)) {
/*  473 */           fetch_for_multiRsCaches();
/*      */         } else {
/*  475 */           int code = fetchData(1, 
/*  476 */             false);
/*  477 */           if (code == 58500) {
/*  478 */             if (this.resultSetType != 1003) {
/*  479 */               this.currentRow = (this.rowCount - 1L);
/*  480 */               this.startRow = this.currentRow;
/*  481 */               fetchData(1, false);
/*      */               
/*  483 */               this.currentRow = this.rowCount;
/*  484 */               this.rsCache.next();
/*      */             }
/*  486 */             return false;
/*      */           }
/*      */         }
/*      */       } else {
/*  490 */         this.rsCache.next();
/*      */       }
/*      */       
/*  493 */       return true;
/*      */     }
/*      */     
/*  496 */     return false;
/*      */   }
/*      */   
/*      */   private void fetch_for_multiRsCaches() throws SQLException {
/*  500 */     if (this.fetchThreadError != null) {
/*  501 */       if (this.rsCacheList.size() > 0) {
/*  502 */         this.rsCache = ((DmdbResultSetCache)this.rsCacheList.removeFirst());
/*      */       } else {
/*  504 */         throw this.fetchThreadError;
/*      */       }
/*      */     } else {
/*  507 */       while (this.rsCacheList.size() == 0) {
/*  508 */         if ((!this.fetchThread.isAlive()) && (this.rowCount == Long.MAX_VALUE)) {
/*  509 */           this.fetchThread = new Thread(new FetchDaemons(this));
/*  510 */           this.fetchThread.setDaemon(true);
/*  511 */           this.fetchThread.start();
/*      */         }
/*      */       }
/*      */       
/*  515 */       this.rsCache = ((DmdbResultSetCache)this.rsCacheList.removeFirst());
/*  516 */       if ((!this.fetchThread.isAlive()) && (this.rowCount == Long.MAX_VALUE)) {
/*  517 */         this.fetchThread = new Thread(new FetchDaemons(this));
/*  518 */         this.fetchThread.setDaemon(true);
/*  519 */         this.fetchThread.start();
/*      */       }
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void close()
/*      */     throws SQLException
/*      */   {
/*  548 */     if (Const.TRACE_LEVEL > 0) {
/*  549 */       DmdbLog.trace(this, "close()", "");
/*      */     }
/*  551 */     if (this.isClosed) {
/*  552 */       return;
/*      */     }
/*      */     
/*  555 */     this.isClosed = true;
/*      */     
/*  557 */     this.dbInfo = null;
/*  558 */     this.colInfo = null;
/*      */     
/*  560 */     this.currentRow = -1L;
/*      */     
/*  562 */     this.m_multiRsCaches = false;
/*  563 */     this.rsCache = null;
/*  564 */     this.rsCacheList = null;
/*  565 */     this.fetchThread = null;
/*  566 */     this.fetchThreadError = null;
/*  567 */     this.cacheCount = 1;
/*      */     
/*  569 */     if (this.fetchThread != null) {
/*  570 */       this.fetchThread.stop();
/*  571 */       this.fetchThread = null;
/*      */     }
/*      */     
/*  574 */     this.m_blobArray = null;
/*  575 */     this.m_clobArray = null;
/*      */     
/*  577 */     clearWarnings();
/*      */     
/*  579 */     this.statement = null;
/*  580 */     this.conn = null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean wasNull()
/*      */     throws SQLException
/*      */   {
/*  602 */     if (Const.TRACE_LEVEL > 0) {
/*  603 */       DmdbLog.trace(this, "wasNull()", "");
/*      */     }
/*  605 */     checkClose();
/*      */     
/*  607 */     return this.wasNullFlag;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public String getString(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  636 */     if (Const.TRACE_LEVEL > 0) {
/*  637 */       DmdbLog.trace(this, "getString(int)", "columnIndex = " + 
/*  638 */         columnIndex);
/*      */     }
/*  640 */     checkClose();
/*  641 */     checkBoundary();
/*  642 */     checkIndex(columnIndex);
/*      */     
/*  644 */     byte[] val = getByteArrayValue(columnIndex);
/*  645 */     if (setWasNullFalg(val)) {
/*  646 */       return null;
/*      */     }
/*      */     
/*  649 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  650 */     return CType2JType.getString(val, desc, this.statement.getHandle(), this.conn, this.isBdta);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean getBoolean(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  675 */     if (Const.TRACE_LEVEL > 0) {
/*  676 */       DmdbLog.trace(this, "getBoolean(int)", "columnIndex = " + 
/*  677 */         columnIndex);
/*      */     }
/*  679 */     checkClose();
/*  680 */     checkBoundary();
/*  681 */     checkIndex(columnIndex);
/*      */     
/*  683 */     byte[] val = getByteArrayValue(columnIndex);
/*  684 */     if (setWasNullFalg(val)) {
/*  685 */       return false;
/*      */     }
/*      */     
/*  688 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  689 */     return CType2JType.getBoolean(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public byte getByte(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  714 */     if (Const.TRACE_LEVEL > 0) {
/*  715 */       DmdbLog.trace(this, "getByte(int)", "columnIndex = " + columnIndex);
/*      */     }
/*  717 */     checkClose();
/*  718 */     checkBoundary();
/*  719 */     checkIndex(columnIndex);
/*      */     
/*  721 */     byte[] val = getByteArrayValue(columnIndex);
/*  722 */     if (setWasNullFalg(val)) {
/*  723 */       return 0;
/*      */     }
/*      */     
/*  726 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  727 */     return CType2JType.getByte(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public short getShort(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  752 */     if (Const.TRACE_LEVEL > 0) {
/*  753 */       DmdbLog.trace(this, "getShort(int)", "columnIndex = " + columnIndex);
/*      */     }
/*  755 */     checkClose();
/*  756 */     checkBoundary();
/*  757 */     checkIndex(columnIndex);
/*      */     
/*  759 */     byte[] val = getByteArrayValue(columnIndex);
/*  760 */     if (setWasNullFalg(val)) {
/*  761 */       return 0;
/*      */     }
/*      */     
/*  764 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  765 */     return CType2JType.getShort(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getInt(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  790 */     if (Const.TRACE_LEVEL > 0) {
/*  791 */       DmdbLog.trace(this, "getInt(int)", "columnIndex = " + columnIndex);
/*      */     }
/*  793 */     checkClose();
/*  794 */     checkBoundary();
/*  795 */     checkIndex(columnIndex);
/*      */     
/*  797 */     byte[] val = getByteArrayValue(columnIndex);
/*  798 */     if (setWasNullFalg(val)) {
/*  799 */       return 0;
/*      */     }
/*      */     
/*  802 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  803 */     return CType2JType.getInt(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public long getLong(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  828 */     if (Const.TRACE_LEVEL > 0) {
/*  829 */       DmdbLog.trace(this, "getLong(int)", "columnIndex = " + columnIndex);
/*      */     }
/*  831 */     checkClose();
/*  832 */     checkBoundary();
/*  833 */     checkIndex(columnIndex);
/*      */     
/*  835 */     byte[] val = getByteArrayValue(columnIndex);
/*  836 */     if (setWasNullFalg(val)) {
/*  837 */       return 0L;
/*      */     }
/*      */     
/*  840 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  841 */     return CType2JType.getLong(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public float getFloat(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  866 */     if (Const.TRACE_LEVEL > 0) {
/*  867 */       DmdbLog.trace(this, "getFloat(int)", "columnIndex = " + columnIndex);
/*      */     }
/*  869 */     checkClose();
/*  870 */     checkBoundary();
/*  871 */     checkIndex(columnIndex);
/*      */     
/*  873 */     byte[] val = getByteArrayValue(columnIndex);
/*  874 */     if (setWasNullFalg(val)) {
/*  875 */       return 0.0F;
/*      */     }
/*      */     
/*  878 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  879 */     return CType2JType.getFloat(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public double getDouble(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  904 */     if (Const.TRACE_LEVEL > 0) {
/*  905 */       DmdbLog.trace(this, "getDouble(int)", "columnIndex = " + 
/*  906 */         columnIndex);
/*      */     }
/*  908 */     checkClose();
/*  909 */     checkBoundary();
/*  910 */     checkIndex(columnIndex);
/*      */     
/*  912 */     byte[] val = getByteArrayValue(columnIndex);
/*  913 */     if (setWasNullFalg(val)) {
/*  914 */       return 0.0D;
/*      */     }
/*      */     
/*  917 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  918 */     return CType2JType.getDouble(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public BigDecimal getBigDecimal(int columnIndex, int scale)
/*      */     throws SQLException
/*      */   {
/*  949 */     BigDecimal dec = getBigDecimal(columnIndex);
/*      */     
/*  951 */     return this.wasNullFlag ? null : dec.setScale(scale, 
/*  952 */       4);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public byte[] getBytes(int columnIndex)
/*      */     throws SQLException
/*      */   {
/*  978 */     if (Const.TRACE_LEVEL > 0) {
/*  979 */       DmdbLog.trace(this, "getBytes(int)", "columnIndex = " + columnIndex);
/*      */     }
/*  981 */     checkClose();
/*  982 */     checkBoundary();
/*  983 */     checkIndex(columnIndex);
/*      */     
/*  985 */     byte[] val = getByteArrayValue(columnIndex);
/*  986 */     if (setWasNullFalg(val)) {
/*  987 */       return null;
/*      */     }
/*      */     
/*  990 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/*  991 */     byte[] ret = CType2JType.getBytes(val, desc, this.statement.getHandle(), 
/*  992 */       this.conn);
/*      */     
/*      */ 
/*      */ 
/*      */ 
/*  997 */     int len = ret.length;
/*  998 */     if ((this.maxFieldSize > 0) && (len > this.maxFieldSize)) {
/*  999 */       len = this.maxFieldSize;
/* 1000 */       val = new byte[len];
/* 1001 */       System.arraycopy(ret, 0, val, 0, len);
/* 1002 */       return val;
/*      */     }
/* 1004 */     return ret;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Date getDate(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 1029 */     if (Const.TRACE_LEVEL > 0) {
/* 1030 */       DmdbLog.trace(this, "getDate(int)", "columnIndex = " + columnIndex);
/*      */     }
/* 1032 */     checkClose();
/* 1033 */     checkBoundary();
/* 1034 */     checkIndex(columnIndex);
/*      */     
/* 1036 */     byte[] val = getByteArrayValue(columnIndex);
/* 1037 */     if (setWasNullFalg(val)) {
/* 1038 */       return null;
/*      */     }
/*      */     
/* 1041 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 1042 */     return CType2JType.getDate(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Time getTime(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 1067 */     if (Const.TRACE_LEVEL > 0) {
/* 1068 */       DmdbLog.trace(this, "getTime(int)", "columnIndex = " + columnIndex);
/*      */     }
/* 1070 */     checkClose();
/* 1071 */     checkBoundary();
/* 1072 */     checkIndex(columnIndex);
/*      */     
/* 1074 */     byte[] val = getByteArrayValue(columnIndex);
/* 1075 */     if (setWasNullFalg(val)) {
/* 1076 */       return null;
/*      */     }
/*      */     
/* 1079 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 1080 */     return CType2JType.getTime(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Timestamp getTimestamp(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 1105 */     if (Const.TRACE_LEVEL > 0) {
/* 1106 */       DmdbLog.trace(this, "getTimestamp(int)", "columnIndex = " + 
/* 1107 */         columnIndex);
/*      */     }
/* 1109 */     checkClose();
/* 1110 */     checkBoundary();
/* 1111 */     checkIndex(columnIndex);
/*      */     
/* 1113 */     byte[] val = getByteArrayValue(columnIndex);
/* 1114 */     if (setWasNullFalg(val)) {
/* 1115 */       return null;
/*      */     }
/*      */     
/* 1118 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 1119 */     return CType2JType.getTimestamp(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public InputStream getAsciiStream(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 1156 */     if (Const.TRACE_LEVEL > 0) {
/* 1157 */       DmdbLog.trace(this, "getAsciiStream(int)", "columnIndex = " + 
/* 1158 */         columnIndex);
/*      */     }
/* 1160 */     checkClose();
/* 1161 */     checkBoundary();
/* 1162 */     checkIndex(columnIndex);
/*      */     
/* 1164 */     byte[] val = getByteArrayValue(columnIndex);
/* 1165 */     if (setWasNullFalg(val)) {
/* 1166 */       return null;
/*      */     }
/*      */     
/* 1169 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 1170 */     return CType2JType.getAsciiStream(val, desc, this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public InputStream getUnicodeStream(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 1214 */     if (Const.TRACE_LEVEL > 0) {
/* 1215 */       DmdbLog.trace(this, "getUnicodeStream(int)", "columnIndex = " + 
/* 1216 */         columnIndex);
/*      */     }
/* 1218 */     checkClose();
/* 1219 */     checkBoundary();
/* 1220 */     checkIndex(columnIndex);
/*      */     
/* 1222 */     byte[] val = getByteArrayValue(columnIndex);
/* 1223 */     if (setWasNullFalg(val)) {
/* 1224 */       return null;
/*      */     }
/*      */     
/* 1227 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 1228 */     return CType2JType.getUnicodeStream(val, desc, this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public InputStream getBinaryStream(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 1264 */     if (Const.TRACE_LEVEL > 0) {
/* 1265 */       DmdbLog.trace(this, "getBinaryStream(int)", "columnIndex = " + 
/* 1266 */         columnIndex);
/*      */     }
/* 1268 */     checkClose();
/* 1269 */     checkBoundary();
/* 1270 */     checkIndex(columnIndex);
/*      */     
/* 1272 */     byte[] val = getByteArrayValue(columnIndex);
/* 1273 */     if (setWasNullFalg(val)) {
/* 1274 */       return null;
/*      */     }
/*      */     
/* 1277 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 1278 */     return CType2JType.getBinaryStream(val, desc, this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public String getString(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1307 */     return getString(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean getBoolean(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1332 */     return getBoolean(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public byte getByte(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1357 */     return getByte(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public short getShort(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1382 */     return getShort(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getInt(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1407 */     return getInt(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public long getLong(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1432 */     return getLong(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public float getFloat(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1457 */     return getFloat(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public double getDouble(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1482 */     return getDouble(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public BigDecimal getBigDecimal(String columnName, int scale)
/*      */     throws SQLException
/*      */   {
/* 1514 */     return getBigDecimal(findColumn(columnName), scale);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public byte[] getBytes(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1540 */     return getBytes(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Date getDate(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1565 */     return getDate(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Time getTime(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1590 */     return getTime(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Timestamp getTimestamp(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1616 */     return getTimestamp(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public InputStream getAsciiStream(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1653 */     return getAsciiStream(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public InputStream getUnicodeStream(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1694 */     return getUnicodeStream(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public InputStream getBinaryStream(String columnName)
/*      */     throws SQLException
/*      */   {
/* 1730 */     return getBinaryStream(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public SQLWarning getWarnings()
/*      */     throws SQLException
/*      */   {
/* 1768 */     checkClose();
/* 1769 */     return this.m_warnings;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void clearWarnings()
/*      */     throws SQLException
/*      */   {
/* 1788 */     this.m_warnings = null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public String getCursorName()
/*      */     throws SQLException
/*      */   {
/* 1825 */     if (Const.TRACE_LEVEL > 0) {
/* 1826 */       DmdbLog.trace(this, "getCursorName(int)", "");
/*      */     }
/* 1828 */     checkClose();
/*      */     
/* 1830 */     if (this.statement.cursorName == null) {
/* 1831 */       this.statement.setCursorName("BPXLYBHQ" + this.statement.handle);
/*      */     }
/* 1833 */     this.statement.connection.remove_statement(this.statement.handle);
/* 1834 */     this.statement.connection.add_statement(this.statement.handle, this.statement);
/*      */     
/* 1836 */     return this.statement.cursorName;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public ResultSetMetaData getMetaData()
/*      */     throws SQLException
/*      */   {
/* 1855 */     if (Const.TRACE_LEVEL > 0) {
/* 1856 */       DmdbLog.trace(this, "getCursorName(int)", "");
/*      */     }
/* 1858 */     checkClose();
/* 1859 */     if (this.conn != null)
/*      */     {
/* 1861 */       return new DmdbResultSetMetaData_bs(this.statement, this.colInfo, 
/* 1862 */         this.resultConcurrencyType, this.conn.getComOra(), this.conn.getClobAsString());
/*      */     }
/*      */     
/*      */ 
/* 1866 */     return new DmdbResultSetMetaData_bs(this.statement, this.colInfo, 
/* 1867 */       this.resultConcurrencyType, false, false);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Object getObject(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 1910 */     return getObjectInner(columnIndex, this.conn.getTypeMap());
/*      */   }
/*      */   
/*      */   private Object getObjectInner(int columnIndex, Map map) throws SQLException
/*      */   {
/* 1915 */     if (Const.TRACE_LEVEL > 0) {
/* 1916 */       DmdbLog.trace(this, "getObject(int)", "columnIndex = " + 
/* 1917 */         columnIndex);
/*      */     }
/* 1919 */     checkClose();
/* 1920 */     checkBoundary();
/* 1921 */     checkIndex(columnIndex);
/* 1922 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 1923 */     if ((this.conn.getComOra()) && (DmdbType.isNUMERICtype(DmdbType.dtypeToSqlType(desc.getDType(), desc.getTypeName()))))
/*      */     {
/* 1925 */       return getBigDecimal(columnIndex);
/*      */     }
/*      */     
/* 1928 */     if ((this.m_lobCached) && 
/* 1929 */       ((desc.getDType() == 12) || (desc.getDType() == 19)) && 
/* 1930 */       (!desc.isComplexType())) {
/* 1931 */       int len = 0;
/* 1932 */       if (desc.getDType() == 12) {
/* 1933 */         DmdbBlob blob = this.m_blobArray[((int)this.currentRow)][(columnIndex - 1)];
/* 1934 */         if (blob == null) {
/* 1935 */           setWasNullFalg(null);
/* 1936 */           return null;
/*      */         }
/*      */         
/* 1939 */         if ("LONGVARBINARY".equalsIgnoreCase(desc.getTypeName())) {
/* 1940 */           len = blob.getLobLen();
/* 1941 */           if ((this.maxFieldSize > 0) && (len > this.maxFieldSize)) {
/* 1942 */             len = this.maxFieldSize;
/*      */           }
/* 1944 */           return blob.getBytes(1L, len);
/*      */         }
/*      */         
/* 1947 */         return blob;
/*      */       }
/* 1949 */       DmdbClob clob = this.m_clobArray[((int)this.currentRow)][(columnIndex - 1)];
/*      */       
/* 1951 */       if (clob == null) {
/* 1952 */         setWasNullFalg(null);
/* 1953 */         return null;
/*      */       }
/*      */       
/* 1956 */       if ("LONGVARCHAR".equalsIgnoreCase(desc.getTypeName())) {
/* 1957 */         len = clob.getLobLen();
/* 1958 */         return clob.getSubString(1L, len);
/*      */       }
/*      */       
/* 1961 */       return clob;
/*      */     }
/*      */     
/*      */ 
/* 1965 */     byte[] val = getByteArrayValue(columnIndex);
/* 1966 */     if (setWasNullFalg(val)) {
/* 1967 */       return null;
/*      */     }
/* 1969 */     String typeName = null;
/* 1970 */     if (desc.getTypeDescriptor() != null) {
/* 1971 */       typeName = desc.getTypeDescriptor().getFulName();
/*      */     }
/* 1973 */     Object ret = CType2JType.getObject(val, desc, this.conn, map, typeName);
/* 1974 */     if ((ret instanceof byte[])) {
/* 1975 */       byte[] byteArr = (byte[])ret;
/* 1976 */       int len = byteArr.length;
/*      */       
/* 1978 */       if ((this.maxFieldSize > 0) && (len > this.maxFieldSize)) {
/* 1979 */         len = this.maxFieldSize;
/* 1980 */         val = new byte[len];
/* 1981 */         System.arraycopy(byteArr, 0, val, 0, len);
/* 1982 */         return val;
/*      */       }
/*      */     }
/*      */     
/* 1986 */     return ret;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Object getObject(String columnName)
/*      */     throws SQLException
/*      */   {
/* 2027 */     return getObject(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int findColumn(String columnName)
/*      */     throws SQLException
/*      */   {
/* 2053 */     if (Const.TRACE_LEVEL > 0) {
/* 2054 */       DmdbLog.trace(this, "findColumn(String)", "columnName = " + 
/* 2055 */         columnName);
/*      */     }
/* 2057 */     checkClose();
/*      */     
/* 2059 */     String colTemp = null;
/* 2060 */     int retIndex = -1;
/* 2061 */     for (int i = 0; i < this.colInfo.length; i++) {
/* 2062 */       colTemp = this.colInfo[i].getDesc().getName();
/*      */       
/*      */ 
/* 2065 */       if (this.m_ignorCase) {
/* 2066 */         if (colTemp.equalsIgnoreCase(columnName)) {
/* 2067 */           retIndex = i + 1;
/* 2068 */           break;
/*      */         }
/*      */       }
/* 2071 */       else if (colTemp.equals(columnName)) {
/* 2072 */         retIndex = i + 1;
/* 2073 */         break;
/*      */       }
/*      */     }
/*      */     
/*      */ 
/* 2078 */     if (retIndex == -1) {
/* 2079 */       DBError.throwSQLException(6017);
/*      */     }
/* 2081 */     return retIndex;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Reader getCharacterStream(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 2114 */     if (Const.TRACE_LEVEL > 0) {
/* 2115 */       DmdbLog.trace(this, "getCharacterStream(int)", "columnIndex = " + 
/* 2116 */         columnIndex);
/*      */     }
/* 2118 */     checkClose();
/* 2119 */     checkBoundary();
/* 2120 */     checkIndex(columnIndex);
/*      */     
/* 2122 */     byte[] val = getByteArrayValue(columnIndex);
/* 2123 */     if (setWasNullFalg(val)) {
/* 2124 */       return null;
/*      */     }
/*      */     
/* 2127 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 2128 */     return CType2JType.getCharacterStream(val, desc, this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Reader getCharacterStream(String columnName)
/*      */     throws SQLException
/*      */   {
/* 2155 */     return getCharacterStream(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public BigDecimal getBigDecimal(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 2182 */     if (Const.TRACE_LEVEL > 0) {
/* 2183 */       DmdbLog.trace(this, "getBigDecimal(int)", "columnIndex = " + 
/* 2184 */         columnIndex);
/*      */     }
/* 2186 */     checkClose();
/* 2187 */     checkBoundary();
/* 2188 */     checkIndex(columnIndex);
/*      */     
/* 2190 */     byte[] val = getByteArrayValue(columnIndex);
/* 2191 */     if (setWasNullFalg(val)) {
/* 2192 */       return null;
/*      */     }
/*      */     
/* 2195 */     ColumnDesc desc = this.colInfo[(columnIndex - 1)].getDesc();
/* 2196 */     return 
/* 2197 */       CType2JType.getBigDecimal(val, desc, this.statement.getHandle(), this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public BigDecimal getBigDecimal(String columnName)
/*      */     throws SQLException
/*      */   {
/* 2225 */     return getBigDecimal(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean isBeforeFirst()
/*      */     throws SQLException
/*      */   {
/* 2251 */     if (Const.TRACE_LEVEL > 0) {
/* 2252 */       DmdbLog.trace(this, "isBeforeFirst()", "");
/*      */     }
/* 2254 */     checkClose();
/* 2255 */     return isBeforeFirst_inner();
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean isAfterLast()
/*      */     throws SQLException
/*      */   {
/* 2277 */     if (Const.TRACE_LEVEL > 0) {
/* 2278 */       DmdbLog.trace(this, "isAfterLast()", "");
/*      */     }
/* 2280 */     checkClose();
/* 2281 */     return isAfterLast_inner();
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean isFirst()
/*      */     throws SQLException
/*      */   {
/* 2302 */     if (Const.TRACE_LEVEL > 0) {
/* 2303 */       DmdbLog.trace(this, "isFirst()", "");
/*      */     }
/* 2305 */     checkClose();
/* 2306 */     return (this.currentRow == 0L) && (this.currentRow < this.rowCount);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean isLast()
/*      */     throws SQLException
/*      */   {
/* 2330 */     if (Const.TRACE_LEVEL > 0) {
/* 2331 */       DmdbLog.trace(this, "isLast()", "");
/*      */     }
/* 2333 */     checkClose();
/*      */     
/* 2335 */     if (this.resultSetType == 1003) {
/* 2336 */       DBError.throwSQLException(6019);
/*      */     }
/*      */     
/* 2339 */     if (this.rowCount == Long.MAX_VALUE) {
/* 2340 */       this.rowCount = DmdbCSI.getRowCount(this.statement, this.m_fromStandby);
/*      */     }
/*      */     
/* 2343 */     return (this.currentRow == this.rowCount - 1L) && (this.currentRow > -1L);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void beforeFirst()
/*      */     throws SQLException
/*      */   {
/* 2366 */     if (Const.TRACE_LEVEL > 0) {
/* 2367 */       DmdbLog.trace(this, "beforeFirst()", "");
/*      */     }
/* 2369 */     if (this.rowCount != 0L) {
/* 2370 */       absolute(1);
/* 2371 */       this.currentRow = -1L;
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void afterLast()
/*      */     throws SQLException
/*      */   {
/* 2392 */     if (Const.TRACE_LEVEL > 0) {
/* 2393 */       DmdbLog.trace(this, "afterLast()", "");
/*      */     }
/* 2395 */     last();
/* 2396 */     this.currentRow = this.rowCount;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean first()
/*      */     throws SQLException
/*      */   {
/* 2417 */     if (Const.TRACE_LEVEL > 0) {
/* 2418 */       DmdbLog.trace(this, "first()", "");
/*      */     }
/* 2420 */     return absolute(1);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean last()
/*      */     throws SQLException
/*      */   {
/* 2441 */     if (Const.TRACE_LEVEL > 0) {
/* 2442 */       DmdbLog.trace(this, "last()", "");
/*      */     }
/* 2444 */     checkClose();
/*      */     
/* 2446 */     if (this.resultSetType == 1003) {
/* 2447 */       DBError.throwSQLException(6019);
/*      */     }
/*      */     
/* 2450 */     if (this.rowCount == Long.MAX_VALUE) {
/* 2451 */       this.rowCount = DmdbCSI.getRowCount(this.statement, this.m_fromStandby);
/*      */     }
/*      */     
/* 2454 */     if (this.rowCount == 0L) {
/* 2455 */       return false;
/*      */     }
/*      */     
/* 2458 */     return absolute((int)this.rowCount);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getRow()
/*      */     throws SQLException
/*      */   {
/* 2478 */     if (Const.TRACE_LEVEL > 0) {
/* 2479 */       DmdbLog.trace(this, "getRow()", "");
/*      */     }
/* 2481 */     checkClose();
/*      */     
/* 2483 */     if ((this.rowCount == 0L) || (this.currentRow == -1L) || (this.currentRow >= this.rowCount)) {
/* 2484 */       return 0;
/*      */     }
/* 2486 */     return (int)this.currentRow + 1;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean absolute(int rows)
/*      */     throws SQLException
/*      */   {
/* 2536 */     if (Const.TRACE_LEVEL > 0) {
/* 2537 */       DmdbLog.trace(this, "absolute(int)", "rows = " + rows);
/*      */     }
/* 2539 */     checkClose();
/*      */     
/* 2541 */     if (rows == 0) {
/* 2542 */       DBError.throwSQLException(6020);
/*      */     }
/*      */     
/* 2545 */     if (this.resultSetType == 1003) {
/* 2546 */       DBError.throwSQLException(6019);
/*      */     }
/*      */     
/* 2549 */     if (this.rowCount == 0L) {
/* 2550 */       this.currentRow = -1L;
/* 2551 */       return false;
/*      */     }
/*      */     
/* 2554 */     if (rows > 0) {
/* 2555 */       if ((rows > this.startRow) && (rows <= this.startRow + this.rsCache.rownum)) {
/* 2556 */         this.currentRow = (rows - 1);
/* 2557 */         this.rsCache.absolute((int)(rows - this.startRow - 1L));
/* 2558 */         return true; }
/* 2559 */       if (rows <= this.rowCount) {
/* 2560 */         this.currentRow = (rows - 1);
/* 2561 */         this.startRow = this.currentRow;
/* 2562 */         int code = fetchData(1, false);
/* 2563 */         if (code == 58500) {
/* 2564 */           this.currentRow = (this.rowCount - 1L);
/* 2565 */           this.startRow = this.currentRow;
/* 2566 */           code = fetchData(1, false);
/* 2567 */           this.rsCache.absolute(this.rsCache.rownum);
/* 2568 */           this.currentRow = this.rowCount;
/* 2569 */           return false;
/*      */         }
/* 2571 */         return true;
/*      */       }
/* 2573 */       this.currentRow = (this.rowCount - 1L);
/* 2574 */       this.startRow = this.currentRow;
/* 2575 */       fetchData(1, false);
/* 2576 */       this.rsCache.absolute(this.rsCache.rownum);
/* 2577 */       this.currentRow = this.rowCount;
/* 2578 */       return false;
/*      */     }
/*      */     
/*      */ 
/* 2582 */     if (rows < 0) {
/* 2583 */       if (this.rowCount == Long.MAX_VALUE) {
/* 2584 */         this.rowCount = DmdbCSI.getRowCount(this.statement, this.m_fromStandby);
/*      */       }
/*      */       
/* 2587 */       if ((rows + this.rowCount >= this.startRow) && 
/* 2588 */         (rows + this.rowCount < this.startRow + this.rsCache.rownum)) {
/* 2589 */         this.currentRow = (this.rowCount + rows);
/* 2590 */         this.rsCache.absolute(this.rsCache.rownum + rows);
/* 2591 */       } else if (this.rowCount + rows >= 0L) {
/* 2592 */         this.currentRow = (this.rowCount + rows);
/* 2593 */         this.startRow = this.currentRow;
/* 2594 */         fetchData(1, false);
/* 2595 */       } else if (this.rowCount + rows <= -1L) {
/* 2596 */         this.currentRow = 0L;
/* 2597 */         this.startRow = 0L;
/* 2598 */         fetchData(1, false);
/*      */         
/* 2600 */         this.rsCache.absolute(0);
/* 2601 */         this.currentRow = -1L;
/*      */         
/* 2603 */         return false;
/*      */       }
/*      */     }
/*      */     
/* 2607 */     return true;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean relative(int rows)
/*      */     throws SQLException
/*      */   {
/* 2645 */     if (Const.TRACE_LEVEL > 0) {
/* 2646 */       DmdbLog.trace(this, "relative(int)", "rows = " + rows);
/*      */     }
/* 2648 */     checkClose();
/* 2649 */     if (this.resultSetType == 1003) {
/* 2650 */       DBError.throwSQLException(6019);
/*      */     }
/*      */     
/* 2653 */     int rowNum = (int)(rows + this.currentRow + 1L);
/* 2654 */     if (rowNum <= 0) {
/* 2655 */       beforeFirst();
/* 2656 */       return false; }
/* 2657 */     if (rowNum > this.rowCount) {
/* 2658 */       afterLast();
/* 2659 */       return false;
/*      */     }
/*      */     
/* 2662 */     return absolute(rowNum);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean previous()
/*      */     throws SQLException
/*      */   {
/* 2684 */     if (Const.TRACE_LEVEL > 0) {
/* 2685 */       DmdbLog.trace(this, "previous()", "");
/*      */     }
/* 2687 */     checkClose();
/*      */     
/* 2689 */     if (this.resultSetType == 1003) {
/* 2690 */       DBError.throwSQLException(6019);
/*      */     }
/*      */     
/* 2693 */     if (this.currentRow > -1L) {
/* 2694 */       if ((this.currentRow <= this.startRow) && (this.currentRow > 0L)) {
/* 2695 */         this.startRow = (this.currentRow - 1L);
/* 2696 */         fetchData(2, false);
/*      */       } else {
/* 2698 */         this.rsCache.previous();
/* 2699 */         this.currentRow -= 1L;
/*      */       }
/*      */     }
/*      */     
/* 2703 */     return this.currentRow > -1L;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 2718 */   int FETCH_FORWARD = 1000;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 2728 */   int FETCH_REVERSE = 1001;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 2736 */   int FETCH_UNKNOWN = 1002;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setFetchDirection(int direction)
/*      */     throws SQLException
/*      */   {
/* 2767 */     if (Const.TRACE_LEVEL > 0) {
/* 2768 */       DmdbLog.trace(this, "setFetchDirection(int)", "direction = " + 
/* 2769 */         direction);
/*      */     }
/* 2771 */     checkClose();
/*      */     
/* 2773 */     if ((direction != 1002) && 
/* 2774 */       (direction != 1000) && 
/* 2775 */       (direction != 1001)) {
/* 2776 */       DBError.throwSQLException(6022);
/*      */     }
/*      */     
/* 2779 */     if ((this.resultSetType == 1003) && 
/* 2780 */       (direction != 1000)) {
/* 2781 */       DBError.throwSQLException(6023);
/*      */     }
/*      */     
/* 2784 */     this.fetchDirection = direction;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getFetchDirection()
/*      */     throws SQLException
/*      */   {
/* 2805 */     if (Const.TRACE_LEVEL > 0) {
/* 2806 */       DmdbLog.trace(this, "getFetchDirection()", "");
/*      */     }
/* 2808 */     checkClose();
/* 2809 */     return this.fetchDirection;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void setFetchSize(int rows)
/*      */     throws SQLException
/*      */   {
/* 2839 */     if (Const.TRACE_LEVEL > 0) {
/* 2840 */       DmdbLog.trace(this, "setFetchSize(int)", "rows = " + rows);
/*      */     }
/* 2842 */     checkClose();
/*      */     
/* 2844 */     if ((rows >= 0) && (
/* 2845 */       ((this.statement.getMaxRows() > 0) && 
/* 2846 */       (rows <= this.statement.getMaxRows())) || (this.statement.getMaxRows() == 0))) {
/* 2847 */       this.fetchSize = rows;
/*      */     } else {
/* 2849 */       DBError.throwSQLException(6020);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getFetchSize()
/*      */     throws SQLException
/*      */   {
/* 2870 */     checkClose();
/* 2871 */     return this.fetchSize;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 2880 */   int TYPE_FORWARD_ONLY = 1003;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 2888 */   int TYPE_SCROLL_INSENSITIVE = 1004;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 2896 */   int TYPE_SCROLL_SENSITIVE = 1005;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getType()
/*      */     throws SQLException
/*      */   {
/* 2918 */     checkClose();
/* 2919 */     return this.resultSetType;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 2928 */   int CONCUR_READ_ONLY = 1007;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 2936 */   int CONCUR_UPDATABLE = 1008;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public int getConcurrency()
/*      */     throws SQLException
/*      */   {
/* 2958 */     checkClose();
/* 2959 */     return this.resultConcurrencyType;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean rowUpdated()
/*      */     throws SQLException
/*      */   {
/* 2979 */     return false;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean rowInserted()
/*      */     throws SQLException
/*      */   {
/* 3004 */     return false;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public boolean rowDeleted()
/*      */     throws SQLException
/*      */   {
/* 3030 */     return false;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateNull(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 3056 */     if (Const.TRACE_LEVEL > 0) {
/* 3057 */       DmdbLog.trace(this, "updateNull(int)", "columnIndex = " + 
/* 3058 */         columnIndex);
/*      */     }
/* 3060 */     updateParam(columnIndex, null, 24);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBoolean(int columnIndex, boolean x)
/*      */     throws SQLException
/*      */   {
/* 3089 */     if (Const.TRACE_LEVEL > 0) {
/* 3090 */       DmdbLog.trace(this, "updateBoolean(int, boolean)", "columnIndex = " + 
/* 3091 */         columnIndex + ", x = " + x);
/*      */     }
/* 3093 */     updateParam(columnIndex, new Boolean(x), 0);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateByte(int columnIndex, byte x)
/*      */     throws SQLException
/*      */   {
/* 3123 */     if (Const.TRACE_LEVEL > 0) {
/* 3124 */       DmdbLog.trace(this, "updateByte(int, byte)", "columnIndex = " + 
/* 3125 */         columnIndex + ", x = " + x);
/*      */     }
/* 3127 */     updateParam(columnIndex, new Byte(x), 1);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateShort(int columnIndex, short x)
/*      */     throws SQLException
/*      */   {
/* 3156 */     if (Const.TRACE_LEVEL > 0) {
/* 3157 */       DmdbLog.trace(this, "updateShort(int, short)", "columnIndex = " + 
/* 3158 */         columnIndex + ", x = " + x);
/*      */     }
/* 3160 */     updateParam(columnIndex, new Short(x), 2);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateInt(int columnIndex, int x)
/*      */     throws SQLException
/*      */   {
/* 3189 */     if (Const.TRACE_LEVEL > 0) {
/* 3190 */       DmdbLog.trace(this, "updateInt(int, int)", "columnIndex = " + 
/* 3191 */         columnIndex + ", x = " + x);
/*      */     }
/* 3193 */     updateParam(columnIndex, new Integer(x), 3);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateLong(int columnIndex, long x)
/*      */     throws SQLException
/*      */   {
/* 3222 */     if (Const.TRACE_LEVEL > 0) {
/* 3223 */       DmdbLog.trace(this, "updateLong(int, long)", "columnIndex = " + 
/* 3224 */         columnIndex + ", x = " + x);
/*      */     }
/* 3226 */     updateParam(columnIndex, new Long(x), 4);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateFloat(int columnIndex, float x)
/*      */     throws SQLException
/*      */   {
/* 3255 */     if (Const.TRACE_LEVEL > 0) {
/* 3256 */       DmdbLog.trace(this, "updateFloat(int, float)", "columnIndex = " + 
/* 3257 */         columnIndex + ", x = " + x);
/*      */     }
/* 3259 */     updateParam(columnIndex, new Float(x), 5);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateDouble(int columnIndex, double x)
/*      */     throws SQLException
/*      */   {
/* 3288 */     if (Const.TRACE_LEVEL > 0) {
/* 3289 */       DmdbLog.trace(this, "updateDouble(int, double)", "columnIndex = " + 
/* 3290 */         columnIndex + ", x = " + x);
/*      */     }
/* 3292 */     updateParam(columnIndex, new Double(x), 6);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBigDecimal(int columnIndex, BigDecimal x)
/*      */     throws SQLException
/*      */   {
/* 3322 */     if (Const.TRACE_LEVEL > 0) {
/* 3323 */       if (x == null) {
/* 3324 */         DmdbLog.trace(this, "updateBigDecimal(int, BigDecimal)", 
/* 3325 */           "columnIndex = " + columnIndex + ", x is null ");
/*      */       } else {
/* 3327 */         DmdbLog.trace(this, "updateBigDecimal(int, BigDecimal)", 
/* 3328 */           "columnIndex = " + columnIndex + ", x = " + x);
/*      */       }
/*      */     }
/* 3331 */     updateParam(columnIndex, x, 7);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateString(int columnIndex, String x)
/*      */     throws SQLException
/*      */   {
/* 3360 */     if (Const.TRACE_LEVEL > 0) {
/* 3361 */       if (x == null) {
/* 3362 */         DmdbLog.trace(this, "updateString(int, String)", 
/* 3363 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3365 */         DmdbLog.trace(this, "updateString(int, String)", 
/* 3366 */           "columnIndex = " + columnIndex + ", x = " + x);
/*      */       }
/*      */     }
/* 3369 */     updateParam(columnIndex, x, 14);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBytes(int columnIndex, byte[] x)
/*      */     throws SQLException
/*      */   {
/* 3398 */     if (Const.TRACE_LEVEL > 0) {
/* 3399 */       if (x == null) {
/* 3400 */         DmdbLog.trace(this, "updateBytes(int, byte[])", 
/* 3401 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3403 */         DmdbLog.trace(this, "updateBytes(int, byte[])", 
/* 3404 */           "columnIndex = " + columnIndex + ", x = " + 
/* 3405 */           new String(x));
/*      */       }
/*      */     }
/* 3408 */     updateParam(columnIndex, x, 15);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateDate(int columnIndex, Date x)
/*      */     throws SQLException
/*      */   {
/* 3438 */     if (Const.TRACE_LEVEL > 0) {
/* 3439 */       if (x == null) {
/* 3440 */         DmdbLog.trace(this, "updateDate(int, java.sql.Date)", 
/* 3441 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3443 */         DmdbLog.trace(
/* 3444 */           this, 
/* 3445 */           "updateDate(int, java.sql.Date)", 
/* 3446 */           "columnIndex = " + columnIndex + ", x = " + 
/* 3447 */           x.toString());
/*      */       }
/*      */     }
/* 3450 */     updateParam(columnIndex, x, 8);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateTime(int columnIndex, Time x)
/*      */     throws SQLException
/*      */   {
/* 3480 */     if (Const.TRACE_LEVEL > 0) {
/* 3481 */       if (x == null) {
/* 3482 */         DmdbLog.trace(this, "updateTime(int, java.sql.Time)", 
/* 3483 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3485 */         DmdbLog.trace(
/* 3486 */           this, 
/* 3487 */           "updateTime(int, java.sql.Time)", 
/* 3488 */           "columnIndex = " + columnIndex + ", x = " + 
/* 3489 */           x.toString());
/*      */       }
/*      */     }
/* 3492 */     updateParam(columnIndex, x, 9);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateTimestamp(int columnIndex, Timestamp x)
/*      */     throws SQLException
/*      */   {
/* 3522 */     if (Const.TRACE_LEVEL > 0) {
/* 3523 */       if (x == null) {
/* 3524 */         DmdbLog.trace(this, "updateTimestamp(int, java.sql.Timestamp)", 
/* 3525 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3527 */         DmdbLog.trace(
/* 3528 */           this, 
/* 3529 */           "updateTimestamp(int, java.sql.Timestamp)", 
/* 3530 */           "columnIndex = " + columnIndex + ", x = " + 
/* 3531 */           x.toString());
/*      */       }
/*      */     }
/* 3534 */     updateParam(columnIndex, x, 10);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateAsciiStream(int columnIndex, InputStream x, int length)
/*      */     throws SQLException
/*      */   {
/* 3556 */     if (Const.TRACE_LEVEL > 0) {
/* 3557 */       if (x == null) {
/* 3558 */         DmdbLog.trace(this, 
/* 3559 */           "updateAsciiStream(int, java.io.InputStream, int)", 
/* 3560 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3562 */         DmdbLog.trace(this, 
/* 3563 */           "updateAsciiStream(int, java.io.InputStream, int)", 
/* 3564 */           "columnIndex = " + columnIndex + ", length = " + length);
/*      */       }
/*      */     }
/* 3567 */     updateParam(columnIndex, x, 19, length);
/*      */   }
/*      */   
/*      */   public void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLException
/*      */   {
/* 3572 */     if (Const.TRACE_LEVEL > 0) {
/* 3573 */       if (x == null) {
/* 3574 */         DmdbLog.trace(this, 
/* 3575 */           "updateAsciiStream(int, java.io.InputStream, long)", 
/* 3576 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3578 */         DmdbLog.trace(this, 
/* 3579 */           "updateAsciiStream(int, java.io.InputStream, long)", 
/* 3580 */           "columnIndex = " + columnIndex + ", length = " + length);
/*      */       }
/*      */     }
/* 3583 */     updateParam(columnIndex, x, 19, length);
/*      */   }
/*      */   
/*      */   public void updateAsciiStream(int columnIndex, InputStream x) throws SQLException
/*      */   {
/* 3588 */     if (Const.TRACE_LEVEL > 0) {
/* 3589 */       if (x == null) {
/* 3590 */         DmdbLog.trace(this, 
/* 3591 */           "updateAsciiStream(int, java.io.InputStream)", 
/* 3592 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3594 */         DmdbLog.trace(this, 
/* 3595 */           "updateAsciiStream(int, java.io.InputStream)", 
/* 3596 */           "columnIndex = " + columnIndex);
/*      */       }
/*      */     }
/* 3599 */     updateParam(columnIndex, x, 19);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBinaryStream(int columnIndex, InputStream x, int length)
/*      */     throws SQLException
/*      */   {
/* 3633 */     if (Const.TRACE_LEVEL > 0) {
/* 3634 */       if (x == null) {
/* 3635 */         DmdbLog.trace(this, 
/* 3636 */           "updateBinaryStream(int, java.io.InputStream, int)", 
/* 3637 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3639 */         DmdbLog.trace(this, 
/* 3640 */           "updateBinaryStream(int, java.io.InputStream, int)", 
/* 3641 */           "columnIndex = " + columnIndex + ", length = " + length);
/*      */       }
/*      */     }
/* 3644 */     updateParam(columnIndex, x, 19, length);
/*      */   }
/*      */   
/*      */   public void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLException
/*      */   {
/* 3649 */     if (Const.TRACE_LEVEL > 0) {
/* 3650 */       if (x == null) {
/* 3651 */         DmdbLog.trace(this, 
/* 3652 */           "updateBinaryStream(int, java.io.InputStream, long)", 
/* 3653 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3655 */         DmdbLog.trace(this, 
/* 3656 */           "updateBinaryStream(int, java.io.InputStream, long)", 
/* 3657 */           "columnIndex = " + columnIndex + ", length = " + length);
/*      */       }
/*      */     }
/* 3660 */     updateParam(columnIndex, x, 19, length);
/*      */   }
/*      */   
/*      */   public void updateBinaryStream(int columnIndex, InputStream x) throws SQLException
/*      */   {
/* 3665 */     if (Const.TRACE_LEVEL > 0) {
/* 3666 */       if (x == null) {
/* 3667 */         DmdbLog.trace(this, 
/* 3668 */           "updateBinaryStream(int, java.io.InputStream)", 
/* 3669 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3671 */         DmdbLog.trace(this, 
/* 3672 */           "updateBinaryStream(int, java.io.InputStream)", 
/* 3673 */           "columnIndex = " + columnIndex);
/*      */       }
/*      */     }
/* 3676 */     updateParam(columnIndex, x, 19);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateCharacterStream(int columnIndex, Reader x, int length)
/*      */     throws SQLException
/*      */   {
/* 3710 */     if (Const.TRACE_LEVEL > 0) {
/* 3711 */       if (x == null) {
/* 3712 */         DmdbLog.trace(this, 
/* 3713 */           "updateCharacterStream(int, java.io.Reader, int)", 
/* 3714 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3716 */         DmdbLog.trace(this, 
/* 3717 */           "updateCharacterStream(int, java.io.Reader, int)", 
/* 3718 */           "columnIndex = " + columnIndex + ", length = " + length);
/*      */       }
/*      */     }
/* 3721 */     updateParam(columnIndex, x, 18, length);
/*      */   }
/*      */   
/*      */   public void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLException
/*      */   {
/* 3726 */     if (Const.TRACE_LEVEL > 0) {
/* 3727 */       if (x == null) {
/* 3728 */         DmdbLog.trace(this, 
/* 3729 */           "updateCharacterStream(int, java.io.Reader, long)", 
/* 3730 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3732 */         DmdbLog.trace(this, 
/* 3733 */           "updateCharacterStream(int, java.io.Reader, long)", 
/* 3734 */           "columnIndex = " + columnIndex + ", length = " + length);
/*      */       }
/*      */     }
/* 3737 */     updateParam(columnIndex, x, 18, length);
/*      */   }
/*      */   
/*      */   public void updateCharacterStream(int columnIndex, Reader x) throws SQLException
/*      */   {
/* 3742 */     if (Const.TRACE_LEVEL > 0) {
/* 3743 */       if (x == null) {
/* 3744 */         DmdbLog.trace(this, 
/* 3745 */           "updateCharacterStream(int, java.io.Reader)", 
/* 3746 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3748 */         DmdbLog.trace(this, 
/* 3749 */           "updateCharacterStream(int, java.io.Reader)", 
/* 3750 */           "columnIndex = " + columnIndex);
/*      */       }
/*      */     }
/* 3753 */     updateParam(columnIndex, x, 18);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateObject(int columnIndex, Object x, int scale)
/*      */     throws SQLException
/*      */   {
/* 3790 */     if (Const.TRACE_LEVEL > 0) {
/* 3791 */       if (x == null) {
/* 3792 */         DmdbLog.trace(this, "updateObject(int, Object, int)", 
/* 3793 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3795 */         DmdbLog.trace(
/* 3796 */           this, 
/* 3797 */           "updateObject(int, Object, int)", 
/* 3798 */           "columnIndex = " + columnIndex + "Object is " + 
/* 3799 */           x.toString() + ", scale = " + scale);
/*      */       }
/*      */     }
/* 3802 */     updateParam_withScale(columnIndex, x, 25, scale);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateObject(int columnIndex, Object x)
/*      */     throws SQLException
/*      */   {
/* 3831 */     if (Const.TRACE_LEVEL > 0) {
/* 3832 */       if (x == null) {
/* 3833 */         DmdbLog.trace(this, "updateObject(int, Object)", 
/* 3834 */           "columnIndex = " + columnIndex + ", x is null");
/*      */       } else {
/* 3836 */         DmdbLog.trace(
/* 3837 */           this, 
/* 3838 */           "updateObject(int, Object)", 
/* 3839 */           "columnIndex = " + columnIndex + "Object is " + 
/* 3840 */           x.toString());
/*      */       }
/*      */     }
/* 3843 */     if ((x instanceof BigDecimal)) {
/* 3844 */       int scale = ((BigDecimal)x).scale();
/* 3845 */       updateParam_withScale(columnIndex, x, 25, 
/* 3846 */         scale);
/*      */     } else {
/* 3848 */       updateParam(columnIndex, x, 25);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateNull(String columnName)
/*      */     throws SQLException
/*      */   {
/* 3873 */     updateNull(findColumn(columnName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBoolean(String columnName, boolean x)
/*      */     throws SQLException
/*      */   {
/* 3902 */     updateBoolean(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateByte(String columnName, byte x)
/*      */     throws SQLException
/*      */   {
/* 3931 */     updateByte(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateShort(String columnName, short x)
/*      */     throws SQLException
/*      */   {
/* 3960 */     updateShort(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateInt(String columnName, int x)
/*      */     throws SQLException
/*      */   {
/* 3989 */     updateInt(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateLong(String columnName, long x)
/*      */     throws SQLException
/*      */   {
/* 4018 */     updateLong(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateFloat(String columnName, float x)
/*      */     throws SQLException
/*      */   {
/* 4047 */     updateFloat(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateDouble(String columnName, double x)
/*      */     throws SQLException
/*      */   {
/* 4076 */     updateDouble(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBigDecimal(String columnName, BigDecimal x)
/*      */     throws SQLException
/*      */   {
/* 4106 */     updateBigDecimal(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateString(String columnName, String x)
/*      */     throws SQLException
/*      */   {
/* 4135 */     updateString(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBytes(String columnName, byte[] x)
/*      */     throws SQLException
/*      */   {
/* 4165 */     updateBytes(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateDate(String columnName, Date x)
/*      */     throws SQLException
/*      */   {
/* 4195 */     updateDate(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateTime(String columnName, Time x)
/*      */     throws SQLException
/*      */   {
/* 4225 */     updateTime(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateTimestamp(String columnName, Timestamp x)
/*      */     throws SQLException
/*      */   {
/* 4255 */     updateTimestamp(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateAsciiStream(String columnName, InputStream x, int length)
/*      */     throws SQLException
/*      */   {
/* 4289 */     updateAsciiStream(findColumn(columnName), x, length);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBinaryStream(String columnName, InputStream x, int length)
/*      */     throws SQLException
/*      */   {
/* 4323 */     updateBinaryStream(findColumn(columnName), x, length);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateCharacterStream(String columnName, Reader reader, int length)
/*      */     throws SQLException
/*      */   {
/* 4358 */     updateCharacterStream(findColumn(columnName), reader, length);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateObject(String columnName, Object x, int scale)
/*      */     throws SQLException
/*      */   {
/* 4395 */     updateObject(findColumn(columnName), x, scale);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateObject(String columnName, Object x)
/*      */     throws SQLException
/*      */   {
/* 4424 */     updateObject(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void insertRow()
/*      */     throws SQLException
/*      */   {
/* 4446 */     if (Const.TRACE_LEVEL > 0) {
/* 4447 */       DmdbLog.trace(this, "insertRow()", "");
/*      */     }
/* 4449 */     checkClose();
/* 4450 */     checkUpdatable();
/* 4451 */     if (!this.isInsertStatus) {
/* 4452 */       DBError.throwSQLException(6026);
/*      */     }
/*      */     
/* 4455 */     if (this.m_updateParams.size() <= 0) {
/* 4456 */       throw new SQLException("Can't insert Row for nothing update.");
/*      */     }
/*      */     
/* 4459 */     checkBoundaryForUpdate();
/*      */     
/* 4461 */     String paramNames = "";
/* 4462 */     String paramEntity = "";
/* 4463 */     String schemaName = "\"" + 
/* 4464 */       StringUtil.getEscObjName(this.colInfo[0].getDesc().getSchName()) + 
/* 4465 */       "\"";
/* 4466 */     String tableName = "\"" + 
/* 4467 */       StringUtil.getEscObjName(this.colInfo[0].getDesc().getTabName()) + 
/* 4468 */       "\"";
/*      */     
/* 4470 */     int pan = 0;
/* 4471 */     DmdbParamVal param = null;
/* 4472 */     for (int i = 0; i < this.columnCount; i++) {
/* 4473 */       if ((param = (DmdbParamVal)this.m_updateParams.get(new Integer(
/* 4474 */         i + 1))) != null)
/*      */       {
/*      */ 
/* 4477 */         if (pan++ > 0) {
/* 4478 */           paramNames = paramNames + " , ";
/* 4479 */           paramEntity = paramEntity + " , ";
/*      */         }
/* 4481 */         paramNames = 
/*      */         
/* 4483 */           paramNames + "\"" + StringUtil.getEscObjName(this.colInfo[i].getDesc().getName()) + "\"";
/* 4484 */         paramEntity = paramEntity + " ? ";
/*      */       }
/*      */     }
/* 4487 */     if ((paramEntity.length() == 0) || (paramNames.length() == 0)) {
/* 4488 */       return;
/*      */     }
/* 4490 */     String insertSql = "insert into " + schemaName + "." + tableName + " (" + 
/* 4491 */       paramNames + ") values(" + paramEntity + ")";
/*      */     
/*      */ 
/* 4494 */     DmdbPreparedStatement_bs pstmt = new DmdbPreparedStatement_bs(this.conn, insertSql);
/*      */     
/* 4496 */     pan = 0;
/* 4497 */     for (int i = 0; i < this.columnCount; i++) {
/* 4498 */       if ((param = (DmdbParamVal)this.m_updateParams.get(new Integer(
/* 4499 */         i + 1))) != null)
/* 4500 */         pstmt.setParamValue(++pan, param);
/*      */     }
/* 4502 */     pstmt.setPutLobData(2);
/* 4503 */     pstmt.executeUpdate();
/* 4504 */     pstmt.close();
/*      */     
/* 4506 */     initializePara();
/* 4507 */     this.isInsertStatus = false;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateRow()
/*      */     throws SQLException
/*      */   {
/* 4527 */     if (Const.TRACE_LEVEL > 0) {
/* 4528 */       DmdbLog.trace(this, "updateRow()", "");
/*      */     }
/* 4530 */     checkClose();
/* 4531 */     checkUpdatable();
/* 4532 */     if (this.isInsertStatus) {
/* 4533 */       DBError.throwSQLException(6027);
/*      */     }
/* 4535 */     if (this.m_updateParams.size() <= 0) {
/* 4536 */       throw new SQLException("Can't update Row for nothing update.");
/*      */     }
/* 4538 */     checkBoundaryForUpdate();
/* 4539 */     String schemaName = "\"" + 
/* 4540 */       StringUtil.getEscObjName(this.colInfo[0].getDesc().getSchName()) + 
/* 4541 */       "\"";
/* 4542 */     String tableName = "\"" + 
/* 4543 */       StringUtil.getEscObjName(this.colInfo[0].getDesc().getTabName()) + 
/* 4544 */       "\"";
/*      */     
/* 4546 */     int pan = 0;
/*      */     
/* 4548 */     DmdbParamVal param = null;
/* 4549 */     String paramNames = "";
/* 4550 */     for (int i = 0; i < this.columnCount; i++) {
/* 4551 */       if ((param = (DmdbParamVal)this.m_updateParams.get(new Integer(
/* 4552 */         i + 1))) != null)
/*      */       {
/*      */ 
/*      */ 
/* 4556 */         if (pan++ > 0) {
/* 4557 */           paramNames = paramNames + ", ";
/*      */         }
/*      */         
/* 4560 */         paramNames = 
/*      */         
/* 4562 */           paramNames + "\"" + StringUtil.getEscObjName(this.colInfo[i].getDesc().getName()) + "\"" + " = ? ";
/*      */       }
/*      */     }
/* 4565 */     if (paramNames.length() == 0) {
/* 4566 */       return;
/*      */     }
/*      */     
/* 4569 */     String insertSql = "update " + schemaName + "." + tableName + " set " + 
/* 4570 */       paramNames + " where current of \"" + 
/* 4571 */       StringUtil.getEscObjName(getCursorName()) + "\"";
/*      */     
/* 4573 */     DmdbPreparedStatement_bs pstmt = new DmdbPreparedStatement_bs(
/* 4574 */       this.conn, insertSql);
/* 4575 */     pan = 0;
/* 4576 */     for (i = 0; i < this.columnCount; i++) {
/* 4577 */       if ((param = (DmdbParamVal)this.m_updateParams.get(new Integer(
/* 4578 */         i + 1))) != null)
/* 4579 */         pstmt.setParamValue(++pan, param);
/*      */     }
/* 4581 */     pstmt.setPutLobData(2);
/* 4582 */     pstmt.executeUpdate();
/* 4583 */     pstmt.close();
/*      */     
/* 4585 */     initializePara();
/* 4586 */     this.isUpdateStatus = false;
/*      */   }
/*      */   
/*      */   /* Error */
/*      */   public void deleteRow()
/*      */     throws SQLException
/*      */   {
/*      */     // Byte code:
/*      */     //   0: getstatic 374	dm/jdbc/dbaccess/Const:TRACE_LEVEL	I
/*      */     //   3: ifle +13 -> 16
/*      */     //   6: aload_0
/*      */     //   7: ldc_w 1185
/*      */     //   10: ldc_w 381
/*      */     //   13: invokestatic 383	dm/jdbc/driver/DmdbLog:trace	(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
/*      */     //   16: aload_0
/*      */     //   17: invokevirtual 389	dm/jdbc/driver/DmdbResultSet_bs:checkClose	()V
/*      */     //   20: aload_0
/*      */     //   21: invokevirtual 1091	dm/jdbc/driver/DmdbResultSet_bs:checkUpdatable	()V
/*      */     //   24: aload_0
/*      */     //   25: invokevirtual 441	dm/jdbc/driver/DmdbResultSet_bs:checkBoundary	()V
/*      */     //   28: aload_0
/*      */     //   29: getfield 113	dm/jdbc/driver/DmdbResultSet_bs:isInsertStatus	Z
/*      */     //   32: ifeq +9 -> 41
/*      */     //   35: sipush 6027
/*      */     //   38: invokestatic 750	dm/jdbc/dbaccess/DBError:throwSQLException	(I)V
/*      */     //   41: aload_0
/*      */     //   42: invokespecial 1098	dm/jdbc/driver/DmdbResultSet_bs:checkBoundaryForUpdate	()V
/*      */     //   45: new 427	java/lang/StringBuffer
/*      */     //   48: dup
/*      */     //   49: invokespecial 1187	java/lang/StringBuffer:<init>	()V
/*      */     //   52: astore_1
/*      */     //   53: aload_1
/*      */     //   54: ldc_w 1188
/*      */     //   57: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   60: pop
/*      */     //   61: new 427	java/lang/StringBuffer
/*      */     //   64: dup
/*      */     //   65: ldc_w 1101
/*      */     //   68: invokespecial 431	java/lang/StringBuffer:<init>	(Ljava/lang/String;)V
/*      */     //   71: aload_0
/*      */     //   72: getfield 100	dm/jdbc/driver/DmdbResultSet_bs:colInfo	[Ldm/jdbc/driver/DmdbColumn;
/*      */     //   75: iconst_0
/*      */     //   76: aaload
/*      */     //   77: invokevirtual 187	dm/jdbc/driver/DmdbColumn:getDesc	()Ldm/jdbc/desc/ColumnDesc;
/*      */     //   80: invokevirtual 1103	dm/jdbc/desc/ColumnDesc:getSchName	()Ljava/lang/String;
/*      */     //   83: invokestatic 1106	dm/jdbc/util/StringUtil:getEscObjName	(Ljava/lang/String;)Ljava/lang/String;
/*      */     //   86: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   89: ldc_w 1101
/*      */     //   92: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   95: invokevirtual 438	java/lang/StringBuffer:toString	()Ljava/lang/String;
/*      */     //   98: astore_2
/*      */     //   99: new 427	java/lang/StringBuffer
/*      */     //   102: dup
/*      */     //   103: ldc_w 1101
/*      */     //   106: invokespecial 431	java/lang/StringBuffer:<init>	(Ljava/lang/String;)V
/*      */     //   109: aload_0
/*      */     //   110: getfield 100	dm/jdbc/driver/DmdbResultSet_bs:colInfo	[Ldm/jdbc/driver/DmdbColumn;
/*      */     //   113: iconst_0
/*      */     //   114: aaload
/*      */     //   115: invokevirtual 187	dm/jdbc/driver/DmdbColumn:getDesc	()Ldm/jdbc/desc/ColumnDesc;
/*      */     //   118: invokevirtual 1111	dm/jdbc/desc/ColumnDesc:getTabName	()Ljava/lang/String;
/*      */     //   121: invokestatic 1106	dm/jdbc/util/StringUtil:getEscObjName	(Ljava/lang/String;)Ljava/lang/String;
/*      */     //   124: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   127: ldc_w 1101
/*      */     //   130: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   133: invokevirtual 438	java/lang/StringBuffer:toString	()Ljava/lang/String;
/*      */     //   136: astore_3
/*      */     //   137: aload_1
/*      */     //   138: aload_2
/*      */     //   139: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   142: ldc_w 1132
/*      */     //   145: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   148: pop
/*      */     //   149: aload_1
/*      */     //   150: aload_3
/*      */     //   151: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   154: pop
/*      */     //   155: aload_1
/*      */     //   156: new 427	java/lang/StringBuffer
/*      */     //   159: dup
/*      */     //   160: ldc_w 1190
/*      */     //   163: invokespecial 431	java/lang/StringBuffer:<init>	(Ljava/lang/String;)V
/*      */     //   166: aload_0
/*      */     //   167: invokevirtual 1182	dm/jdbc/driver/DmdbResultSet_bs:getCursorName	()Ljava/lang/String;
/*      */     //   170: invokestatic 1106	dm/jdbc/util/StringUtil:getEscObjName	(Ljava/lang/String;)Ljava/lang/String;
/*      */     //   173: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   176: ldc_w 1101
/*      */     //   179: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   182: invokevirtual 438	java/lang/StringBuffer:toString	()Ljava/lang/String;
/*      */     //   185: invokevirtual 740	java/lang/StringBuffer:append	(Ljava/lang/String;)Ljava/lang/StringBuffer;
/*      */     //   188: pop
/*      */     //   189: aload_1
/*      */     //   190: invokevirtual 438	java/lang/StringBuffer:toString	()Ljava/lang/String;
/*      */     //   193: astore 4
/*      */     //   195: aconst_null
/*      */     //   196: astore 5
/*      */     //   198: new 178	dm/jdbc/driver/DmdbStatement_bs
/*      */     //   201: dup
/*      */     //   202: aload_0
/*      */     //   203: getfield 86	dm/jdbc/driver/DmdbResultSet_bs:conn	Ldm/jdbc/driver/DmdbConnection_bs;
/*      */     //   206: sipush 1003
/*      */     //   209: sipush 1007
/*      */     //   212: iconst_1
/*      */     //   213: invokespecial 1192	dm/jdbc/driver/DmdbStatement_bs:<init>	(Ldm/jdbc/driver/DmdbConnection_bs;III)V
/*      */     //   216: astore 5
/*      */     //   218: aload 5
/*      */     //   220: aload_0
/*      */     //   221: getfield 104	dm/jdbc/driver/DmdbResultSet_bs:currentRow	J
/*      */     //   224: putfield 1195	dm/jdbc/driver/DmdbStatement_bs:cursorUpdateRow	J
/*      */     //   227: aload 5
/*      */     //   229: aload 4
/*      */     //   231: invokevirtual 1198	dm/jdbc/driver/DmdbStatement_bs:executeUpdate	(Ljava/lang/String;)I
/*      */     //   234: pop
/*      */     //   235: aload 5
/*      */     //   237: invokevirtual 1200	dm/jdbc/driver/DmdbStatement_bs:close	()V
/*      */     //   240: aconst_null
/*      */     //   241: astore 5
/*      */     //   243: goto +18 -> 261
/*      */     //   246: astore 6
/*      */     //   248: aload 5
/*      */     //   250: ifnull +8 -> 258
/*      */     //   253: aload 5
/*      */     //   255: invokevirtual 1200	dm/jdbc/driver/DmdbStatement_bs:close	()V
/*      */     //   258: aload 6
/*      */     //   260: athrow
/*      */     //   261: aload 5
/*      */     //   263: ifnull +8 -> 271
/*      */     //   266: aload 5
/*      */     //   268: invokevirtual 1200	dm/jdbc/driver/DmdbStatement_bs:close	()V
/*      */     //   271: return
/*      */     // Line number table:
/*      */     //   Java source line #4606	-> byte code offset #0
/*      */     //   Java source line #4607	-> byte code offset #6
/*      */     //   Java source line #4609	-> byte code offset #16
/*      */     //   Java source line #4610	-> byte code offset #20
/*      */     //   Java source line #4611	-> byte code offset #24
/*      */     //   Java source line #4613	-> byte code offset #28
/*      */     //   Java source line #4614	-> byte code offset #35
/*      */     //   Java source line #4616	-> byte code offset #41
/*      */     //   Java source line #4619	-> byte code offset #45
/*      */     //   Java source line #4621	-> byte code offset #53
/*      */     //   Java source line #4624	-> byte code offset #61
/*      */     //   Java source line #4625	-> byte code offset #71
/*      */     //   Java source line #4626	-> byte code offset #89
/*      */     //   Java source line #4624	-> byte code offset #95
/*      */     //   Java source line #4627	-> byte code offset #99
/*      */     //   Java source line #4628	-> byte code offset #109
/*      */     //   Java source line #4629	-> byte code offset #127
/*      */     //   Java source line #4627	-> byte code offset #133
/*      */     //   Java source line #4631	-> byte code offset #137
/*      */     //   Java source line #4632	-> byte code offset #149
/*      */     //   Java source line #4634	-> byte code offset #155
/*      */     //   Java source line #4635	-> byte code offset #166
/*      */     //   Java source line #4634	-> byte code offset #185
/*      */     //   Java source line #4637	-> byte code offset #189
/*      */     //   Java source line #4639	-> byte code offset #195
/*      */     //   Java source line #4641	-> byte code offset #198
/*      */     //   Java source line #4642	-> byte code offset #206
/*      */     //   Java source line #4643	-> byte code offset #212
/*      */     //   Java source line #4641	-> byte code offset #213
/*      */     //   Java source line #4644	-> byte code offset #218
/*      */     //   Java source line #4645	-> byte code offset #227
/*      */     //   Java source line #4647	-> byte code offset #235
/*      */     //   Java source line #4649	-> byte code offset #240
/*      */     //   Java source line #4650	-> byte code offset #243
/*      */     //   Java source line #4651	-> byte code offset #248
/*      */     //   Java source line #4652	-> byte code offset #253
/*      */     //   Java source line #4654	-> byte code offset #258
/*      */     //   Java source line #4651	-> byte code offset #261
/*      */     //   Java source line #4652	-> byte code offset #266
/*      */     //   Java source line #4655	-> byte code offset #271
/*      */     // Local variable table:
/*      */     //   start	length	slot	name	signature
/*      */     //   0	272	0	this	DmdbResultSet_bs
/*      */     //   52	138	1	deleteStmtBuffer	StringBuffer
/*      */     //   98	41	2	schema	String
/*      */     //   136	15	3	table	String
/*      */     //   193	37	4	sql	String
/*      */     //   196	71	5	stmtForDel	DmdbStatement_bs
/*      */     //   246	13	6	localObject	Object
/*      */     // Exception table:
/*      */     //   from	to	target	type
/*      */     //   198	246	246	finally
/*      */   }
/*      */   
/*      */   public void refreshRow()
/*      */     throws SQLException
/*      */   {
/* 4688 */     if (Const.TRACE_LEVEL > 0) {
/* 4689 */       DmdbLog.trace(this, "refreshRow()", "");
/*      */     }
/* 4691 */     checkClose();
/*      */     
/* 4693 */     if (this.resultSetType == 1003) {
/* 4694 */       DBError.throwSQLException(6019);
/*      */     }
/*      */     
/* 4697 */     if (this.isInsertStatus)
/*      */     {
/* 4699 */       DBError.throwSQLException(6027);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void cancelRowUpdates()
/*      */     throws SQLException
/*      */   {
/* 4723 */     if (Const.TRACE_LEVEL > 0) {
/* 4724 */       DmdbLog.trace(this, "cancelRowUpdates()", "");
/*      */     }
/* 4726 */     checkClose();
/* 4727 */     this.m_updateParams.clear();
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void moveToInsertRow()
/*      */     throws SQLException
/*      */   {
/* 4756 */     if (Const.TRACE_LEVEL > 0) {
/* 4757 */       DmdbLog.trace(this, "moveToInsertRow()", "");
/*      */     }
/* 4759 */     checkClose();
/*      */     
/* 4761 */     if (this.resultConcurrencyType == 1007) {
/* 4762 */       DBError.throwSQLException(6029);
/*      */     }
/* 4764 */     this.isInsertStatus = true;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void moveToCurrentRow()
/*      */     throws SQLException
/*      */   {
/* 4783 */     if (Const.TRACE_LEVEL > 0) {
/* 4784 */       DmdbLog.trace(this, "moveToCurrentRow()", "");
/*      */     }
/* 4786 */     checkClose();
/*      */     
/* 4788 */     this.isInsertStatus = false;
/*      */     
/* 4790 */     if (this.resultConcurrencyType == 1007) {
/* 4791 */       DBError.throwSQLException(6029);
/*      */     }
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Statement getStatement()
/*      */     throws SQLException
/*      */   {
/* 4816 */     if (Const.TRACE_LEVEL > 0) {
/* 4817 */       DmdbLog.trace(this, "getStatement()", "");
/*      */     }
/* 4819 */     checkClose();
/*      */     
/* 4821 */     return this.statement;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Object getObject(int i, Map map)
/*      */     throws SQLException
/*      */   {
/* 4856 */     if (map == null) {
/* 4857 */       return getObject(i);
/*      */     }
/* 4859 */     return getObjectInner(i, map);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Ref getRef(int i)
/*      */     throws SQLException
/*      */   {
/* 4885 */     DBError.throwUnsupportedSQLException();
/* 4886 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Blob getBlob(int i)
/*      */     throws SQLException
/*      */   {
/* 4912 */     if (Const.TRACE_LEVEL > 0) {
/* 4913 */       DmdbLog.trace(this, "getBlob(int)", "columnid = " + i);
/*      */     }
/* 4915 */     checkClose();
/* 4916 */     checkIndex(i);
/* 4917 */     checkBoundary();
/*      */     
/* 4919 */     if (this.m_lobCached) {
/* 4920 */       if (this.colInfo[(i - 1)].getDesc().getDType() == 12) {
/* 4921 */         return this.m_blobArray[((int)this.currentRow)][(i - 1)];
/*      */       }
/* 4923 */       DBError.throwSQLException(6016);
/*      */     }
/*      */     
/* 4926 */     byte[] val = getByteArrayValue(i);
/* 4927 */     if (setWasNullFalg(val)) {
/* 4928 */       return null;
/*      */     }
/* 4930 */     ColumnDesc desc = this.colInfo[(i - 1)].getDesc();
/* 4931 */     return CType2JType.getBlob(val, desc, this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Clob getClob(int i)
/*      */     throws SQLException
/*      */   {
/* 4957 */     if (Const.TRACE_LEVEL > 0) {
/* 4958 */       DmdbLog.trace(this, "getClob(int)", "columnid = " + i);
/*      */     }
/* 4960 */     checkClose();
/* 4961 */     checkIndex(i);
/* 4962 */     checkBoundary();
/*      */     
/* 4964 */     if (this.m_lobCached) {
/* 4965 */       if (this.colInfo[(i - 1)].getDesc().getDType() == 19) {
/* 4966 */         return this.m_clobArray[((int)this.currentRow)][(i - 1)];
/*      */       }
/* 4968 */       DBError.throwSQLException(6016);
/*      */     }
/*      */     
/* 4971 */     byte[] val = getByteArrayValue(i);
/* 4972 */     if (setWasNullFalg(val)) {
/* 4973 */       return null;
/*      */     }
/* 4975 */     ColumnDesc desc = this.colInfo[(i - 1)].getDesc();
/* 4976 */     return CType2JType.getClob(val, desc, this.conn);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Array getArray(int i)
/*      */     throws SQLException
/*      */   {
/* 5002 */     DBError.throwUnsupportedSQLException();
/* 5003 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Object getObject(String colName, Map map)
/*      */     throws SQLException
/*      */   {
/* 5038 */     return getObject(findColumn(colName), map);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Ref getRef(String colName)
/*      */     throws SQLException
/*      */   {
/* 5064 */     DBError.throwUnsupportedSQLException();
/* 5065 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Blob getBlob(String colName)
/*      */     throws SQLException
/*      */   {
/* 5091 */     return getBlob(findColumn(colName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Clob getClob(String colName)
/*      */     throws SQLException
/*      */   {
/* 5117 */     return getClob(findColumn(colName));
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Array getArray(String colName)
/*      */     throws SQLException
/*      */   {
/* 5143 */     DBError.throwUnsupportedSQLException();
/* 5144 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Date getDate(int columnIndex, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 5181 */     Date d = getDate(columnIndex);
/* 5182 */     if (this.wasNullFlag) {
/* 5183 */       return null;
/*      */     }
/*      */     
/* 5186 */     if (cal == null) {
/* 5187 */       cal = Calendar.getInstance();
/*      */     }
/* 5189 */     cal.clear();
/* 5190 */     cal.setTime(d);
/* 5191 */     return new Date(cal.getTimeInMillis());
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Date getDate(String columnName, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 5226 */     return getDate(findColumn(columnName), cal);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Time getTime(int columnIndex, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 5261 */     Time time = getTime(columnIndex);
/* 5262 */     if (this.wasNullFlag) {
/* 5263 */       return null;
/*      */     }
/* 5265 */     if (cal == null) {
/* 5266 */       cal = Calendar.getInstance();
/*      */     }
/* 5268 */     cal.clear();
/* 5269 */     cal.setTimeInMillis(time.getTime());
/* 5270 */     return new Time(cal.getTimeInMillis());
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Time getTime(String columnName, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 5305 */     return getTime(findColumn(columnName), cal);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Timestamp getTimestamp(int columnIndex, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 5342 */     Timestamp timestamp = getTimestamp(columnIndex);
/* 5343 */     if (this.wasNullFlag) {
/* 5344 */       return null;
/*      */     }
/*      */     
/* 5347 */     if (cal == null)
/* 5348 */       cal = Calendar.getInstance();
/* 5349 */     cal.clear();
/* 5350 */     cal.setTime(timestamp);
/*      */     
/* 5352 */     Timestamp xn = new Timestamp(cal.getTimeInMillis());
/* 5353 */     int nanos = timestamp.getNanos();
/* 5354 */     if (nanos != 0) {
/* 5355 */       xn.setNanos(nanos);
/*      */     }
/* 5357 */     return xn;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public Timestamp getTimestamp(String columnName, Calendar cal)
/*      */     throws SQLException
/*      */   {
/* 5392 */     return getTimestamp(findColumn(columnName), cal);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 5404 */   int HOLD_CURSORS_OVER_COMMIT = 1;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/* 5412 */   int CLOSE_CURSORS_AT_COMMIT = 2;
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public URL getURL(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 5439 */     DBError.throwUnsupportedSQLException();
/* 5440 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public URL getURL(String columnName)
/*      */     throws SQLException
/*      */   {
/* 5467 */     DBError.throwUnsupportedSQLException();
/* 5468 */     return null;
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateRef(int columnIndex, Ref x)
/*      */     throws SQLException
/*      */   {}
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateRef(String columnName, Ref x)
/*      */     throws SQLException
/*      */   {}
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBlob(int columnIndex, Blob x)
/*      */     throws SQLException
/*      */   {
/* 5557 */     if (Const.TRACE_LEVEL > 0) {
/* 5558 */       if (x == null) {
/* 5559 */         DmdbLog.trace(this, "updateBlob(int, java.sql.Blob)", 
/* 5560 */           "columnid = " + columnIndex + ", x is null");
/*      */       } else {
/* 5562 */         DmdbLog.trace(this, "updateBlob(int, java.sql.Blob)", 
/* 5563 */           "columnid = " + columnIndex);
/*      */       }
/*      */     }
/* 5566 */     updateParam(columnIndex, x, 16);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateBlob(String columnName, Blob x)
/*      */     throws SQLException
/*      */   {
/* 5596 */     updateBlob(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateClob(int columnIndex, Clob x)
/*      */     throws SQLException
/*      */   {
/* 5626 */     if (Const.TRACE_LEVEL > 0) {
/* 5627 */       if (x == null) {
/* 5628 */         DmdbLog.trace(this, "updateClob(int, java.sql.Clob)", 
/* 5629 */           "columnid = " + columnIndex + ", x is null");
/*      */       } else {
/* 5631 */         DmdbLog.trace(this, "updateClob(int, java.sql.Clob)", 
/* 5632 */           "columnid = " + columnIndex);
/*      */       }
/*      */     }
/* 5635 */     updateParam(columnIndex, x, 17);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateClob(String columnName, Clob x)
/*      */     throws SQLException
/*      */   {
/* 5665 */     updateClob(findColumn(columnName), x);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateArray(int columnIndex, Array x)
/*      */     throws SQLException
/*      */   {}
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateArray(String columnName, Array x)
/*      */     throws SQLException
/*      */   {}
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   public void updateINTERVALYM(int i, DmdbIntervalYM ym)
/*      */     throws SQLException
/*      */   {
/* 5732 */     if (Const.TRACE_LEVEL > 0) {
/* 5733 */       if (ym == null) {
/* 5734 */         DmdbLog.trace(this, "updateINTERVALYM(int, DmdbIntervalYM)", 
/* 5735 */           "columnid = " + i + ", x is null");
/*      */       } else {
/* 5737 */         DmdbLog.trace(this, "updateINTERVALYM(int, DmdbIntervalYM)", 
/* 5738 */           "columnid = " + i + ", x = " + ym.toString());
/*      */       }
/*      */     }
/* 5741 */     updateParam(i, ym, 12);
/*      */   }
/*      */   
/*      */   public void updateINTERVALYM(String s, DmdbIntervalYM ym) throws SQLException
/*      */   {
/* 5746 */     updateINTERVALYM(findColumn(s), ym);
/*      */   }
/*      */   
/*      */   public void updateINTERVALDT(int i, DmdbIntervalDT dt) throws SQLException {
/* 5750 */     if (Const.TRACE_LEVEL > 0) {
/* 5751 */       if (dt == null) {
/* 5752 */         DmdbLog.trace(this, "updateINTERVALDT(int, DmdbIntervalDT)", 
/* 5753 */           "columnid = " + i + ", x is null");
/*      */       } else {
/* 5755 */         DmdbLog.trace(this, "updateINTERVALDT(int, DmdbIntervalDT)", 
/* 5756 */           "columnid = " + i + ", x = " + dt.toString());
/*      */       }
/*      */     }
/* 5759 */     updateParam(i, dt, 13);
/*      */   }
/*      */   
/*      */   public void updateINTERVALDT(String s, DmdbIntervalDT dt) throws SQLException
/*      */   {
/* 5764 */     updateINTERVALDT(findColumn(s), dt);
/*      */   }
/*      */   
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */ 
/*      */   byte[] getByteArrayValue(int columnIndex)
/*      */     throws SQLException
/*      */   {
/* 5777 */     columnIndex--;
/* 5778 */     return this.rsCache.getBytes((short)columnIndex);
/*      */   }
/*      */   
/*      */   protected long getCurrentRowNum() {
/* 5782 */     return this.currentRow;
/*      */   }
/*      */   
/*      */   private int fetchData(int fetchType, boolean fetchAll) throws SQLException
/*      */   {
/* 5787 */     int ret = 1;
/*      */     
/* 5789 */     if (this.metaRsFlag) {
/* 5790 */       return ret;
/*      */     }
/*      */     long curPos;
/*      */     long curPos;
/* 5794 */     if (fetchAll) {
/* 5795 */       curPos = this.rsCache.rownum;
/*      */     } else { long curPos;
/* 5797 */       if (fetchType == 1) {
/* 5798 */         curPos = this.startRow;
/*      */ 
/*      */       }
/*      */       else
/*      */       {
/* 5803 */         int tmp_tuple_len = DmdbColumn.getMaxTupleLen(this.colInfo, 
/* 5804 */           this.conn.getMaxRowSize());
/* 5805 */         int max_row_num = 32640 / tmp_tuple_len;
/*      */         
/* 5807 */         curPos = this.startRow - max_row_num / 2;
/* 5808 */         if (curPos < 0L) {
/* 5809 */           curPos = 0L;
/*      */         }
/*      */       }
/*      */     }
/*      */     
/* 5814 */     ret = DmdbCSI.fetch(this.statement, curPos, fetchAll, this, this.rsId, 
/* 5815 */       this.m_fromStandby);
/*      */     
/*      */ 
/* 5818 */     if (fetchType == 2)
/*      */     {
/* 5820 */       if ((this.rsCache instanceof DmdbResultSetCache_h)) {
/* 5821 */         setRsCache_after_fetch((DmdbResultSetCache_h)this.rsCache, curPos);
/*      */       }
/* 5823 */       this.rsCache.curpos = ((int)(this.startRow - curPos));
/*      */       
/* 5825 */       this.startRow = curPos;
/*      */     }
/*      */     
/* 5828 */     return ret;
/*      */   }
/*      */   
/*      */ 
/*      */   private void setRsCache_after_fetch(DmdbResultSetCache_h rsCache, long curPos)
/*      */   {
/* 5834 */     int offset = 0;
/* 5835 */     for (int i = 0; i < this.startRow - curPos; i++) {
/* 5836 */       offset += rsCache.rec4_get_len(rsCache.rowbuf, offset);
/*      */     }
/* 5838 */     rsCache.offset = offset;
/*      */   }
/*      */   
/*      */   public long getRowid() {
/* 5842 */     return this.rsCache.rec_get_rowid();
/*      */   }
/*      */   
/*      */   public long getRowCount() throws SQLException {
/* 5846 */     checkClose();
/*      */     
/* 5848 */     if (this.rowCount == Long.MAX_VALUE) {
/* 5849 */       if (this.resultSetType == 1003) {
/* 5850 */         return -1L;
/*      */       }
/* 5852 */       return DmdbCSI.getRowCount(this.statement, this.m_fromStandby);
/*      */     }
/*      */     
/* 5855 */     return this.rowCount;
/*      */   }
/*      */   
/*      */   void initializePara() {
/* 5859 */     this.m_updateParams.clear();
/*      */   }
/*      */   
/*      */   public final Object clone() {
/* 5863 */     DmdbResultSet_bs rs = null;
/*      */     try {
/* 5865 */       rs = (DmdbResultSet_bs)super.clone();
/* 5866 */       rs.statement = null;
/* 5867 */       rs.conn = null;
/*      */       
/* 5869 */       rs.m_multiRsCaches = false;
/* 5870 */       rs.rsCache = null;
/* 5871 */       rs.rsCacheList = null;
/* 5872 */       rs.fetchThread = null;
/* 5873 */       rs.fetchThreadError = null;
/* 5874 */       rs.cacheCount = 1;
/*      */       
/* 5876 */       if (this.dbInfo != null) {
/* 5877 */         rs.dbInfo = ((DmdbInfo)this.dbInfo.clone());
/*      */       }
/* 5879 */       if (this.colInfo != null) {
/* 5880 */         rs.colInfo = ((DmdbColumn[])this.colInfo.clone());
/*      */       }
/*      */       
/* 5883 */       if (this.rsCache != null) {
/* 5884 */         rs.rsCache = ((DmdbResultSetCache)this.rsCache.clone());
/* 5885 */         rs.rsCache.setCols(rs.colInfo);
/*      */       }
/*      */       
/* 5888 */       rs.startRow = 0L;
/* 5889 */       rs.currentRow = -1L;
/* 5890 */       rs.initializePara();
/*      */       
/* 5892 */       if (this.m_lobCached) {
/* 5893 */         for (short col = 0; col < this.columnCount; col = (short)(col + 1)) {
/* 5894 */           int dtype = this.colInfo[col].getDesc().getDType();
/* 5895 */           for (int row = 0; row < this.rowCount; row++) {
/* 5896 */             if ((dtype == 12) && 
/* 5897 */               (this.m_blobArray[row][col] != null)) {
/* 5898 */               rs.m_blobArray[row][col] = 
/* 5899 */                 ((DmdbBlob)this.m_blobArray[row][col].clone());
/*      */             }
/* 5901 */             if ((dtype == 19) && 
/* 5902 */               (this.m_clobArray[row][col] != null))
/* 5903 */               rs.m_clobArray[row][col] = 
/* 5904 */                 ((DmdbClob)this.m_clobArray[row][col].clone());
/*      */           }
/*      */         }
/*      */       }
/*      */     } catch (CloneNotSupportedException e) {
/* 5909 */       e.printStackTrace();
/*      */     }
/* 5911 */     return rs;
/*      */   }
/*      */   
/*      */   public void setRsId(short resId) {
/* 5915 */     this.rsId = resId;
/*      */   }
/*      */   
/*      */   public boolean isClosed() throws SQLException {
/* 5919 */     return this.isClosed;
/*      */   }
/*      */   
/*      */   private boolean isBeforeFirst_inner() {
/* 5923 */     return (this.currentRow <= -1L) && (this.rowCount >= 0L);
/*      */   }
/*      */   
/*      */   private boolean isAfterLast_inner() throws SQLException {
/* 5927 */     if (this.rowCount == Long.MAX_VALUE) {
/* 5928 */       return false;
/*      */     }
/* 5930 */     return (this.currentRow >= this.rowCount) && (this.rowCount >= 0L);
/*      */   }
/*      */   
/*      */   protected void checkIndex(int i) throws SQLException {
/* 5934 */     if ((i < 1) || (i > this.columnCount)) {
/* 5935 */       DBError.throwSQLException(6032);
/*      */     }
/*      */   }
/*      */   
/*      */   protected void checkClose() throws SQLException {
/* 5940 */     if (this.isClosed) {
/* 5941 */       DBError.throwSQLException(6034);
/*      */     }
/*      */   }
/*      */   
/*      */   void checkUpdatable() throws SQLException {
/* 5946 */     if ((this.resultConcurrencyType != 1008) || 
/* 5947 */       (!this.dbInfo.getUpdatable())) {
/* 5948 */       DBError.throwSQLException(6029);
/*      */     }
/*      */     
/* 5951 */     if (this.m_fromStandby)
/* 5952 */       DBError.throwSQLException(
/* 5953 */         Const.res.getString("error.rsUpdateNotSupportWhenFromStandby"));
/*      */   }
/*      */   
/*      */   protected void checkBoundary() throws SQLException {
/* 5957 */     if (isBeforeFirst_inner())
/* 5958 */       throw new SQLException(
/* 5959 */         Const.res.getString("error.cursorNotInResultSet"));
/* 5960 */     if ((this.rowCount != Long.MAX_VALUE) && 
/* 5961 */       (isAfterLast_inner()))
/* 5962 */       throw new SQLException(
/* 5963 */         Const.res.getString("error.cursorNotInResultSet"));
/*      */   }
/*      */   
/*      */   private void checkBoundaryForUpdate() throws SQLException {
/* 5967 */     if (((isBeforeFirst_inner()) || (isAfterLast_inner())) && (!this.isInsertStatus)) {
/* 5968 */       throw new SQLException(
/* 5969 */         Const.res.getString("error.cursorNotInResultSet"));
/*      */     }
/*      */   }
/*      */   
/*      */   private void checkNullable(int columnIndex) throws SQLException {
/* 5974 */     if (!this.colInfo[(columnIndex - 1)].getDesc().getNullable()) {
/* 5975 */       DBError.throwSQLException(6024);
/*      */     }
/*      */   }
/*      */   
/*      */   private void setUpdateStatus(boolean update) {
/* 5980 */     this.isUpdateStatus = update;
/*      */   }
/*      */   
/*      */   private boolean setWasNullFalg(byte[] value) {
/* 5984 */     if (value == null) {
/* 5985 */       this.wasNullFlag = true;
/*      */     } else {
/* 5987 */       this.wasNullFlag = false;
/*      */     }
/* 5989 */     return this.wasNullFlag;
/*      */   }
/*      */   
/*      */   private void putUpdateParam(int columnIndex, Object x, int jType) {
/* 5993 */     DmdbParamVal param = new DmdbParamVal();
/* 5994 */     param.setInValue(x, jType);
/* 5995 */     param.setTypeFlag((byte)1);
/* 5996 */     this.m_updateParams.put(new Integer(columnIndex), param);
/*      */   }
/*      */   
/*      */   private void putUpdateParam(int columnIndex, Object x, int jType, long length)
/*      */   {
/* 6001 */     DmdbParamVal param = new DmdbParamVal();
/* 6002 */     param.setInValue(x, jType);
/* 6003 */     param.setLength(length);
/* 6004 */     param.setTypeFlag((byte)1);
/* 6005 */     this.m_updateParams.put(new Integer(columnIndex), param);
/*      */   }
/*      */   
/*      */   private void putUpdateParam_withScale(int columnIndex, Object x, int jType, int scale)
/*      */   {
/* 6010 */     DmdbParamVal param = new DmdbParamVal();
/* 6011 */     param.setInValue(x, jType);
/* 6012 */     param.setTargetScale(scale);
/* 6013 */     param.setTypeFlag((byte)1);
/* 6014 */     this.m_updateParams.put(new Integer(columnIndex), param);
/*      */   }
/*      */   
/*      */   private void updateParam(int columnIndex, Object x, int jType) throws SQLException
/*      */   {
/* 6019 */     checkClose();
/* 6020 */     checkUpdatable();
/* 6021 */     checkIndex(columnIndex);
/* 6022 */     checkBoundaryForUpdate();
/*      */     
/* 6024 */     if (x == null) {
/* 6025 */       checkNullable(columnIndex);
/*      */     }
/* 6027 */     setUpdateStatus(true);
/* 6028 */     putUpdateParam(columnIndex, x, jType);
/*      */   }
/*      */   
/*      */   private void updateParam(int columnIndex, Object x, int jType, long length) throws SQLException
/*      */   {
/* 6033 */     checkClose();
/* 6034 */     checkUpdatable();
/* 6035 */     checkIndex(columnIndex);
/* 6036 */     checkBoundaryForUpdate();
/*      */     
/* 6038 */     if (x == null) {
/* 6039 */       checkNullable(columnIndex);
/*      */     }
/* 6041 */     setUpdateStatus(true);
/* 6042 */     putUpdateParam(columnIndex, x, jType, length);
/*      */   }
/*      */   
/*      */   private void updateParam_withScale(int columnIndex, Object x, int jType, int scale) throws SQLException
/*      */   {
/* 6047 */     checkClose();
/* 6048 */     checkUpdatable();
/* 6049 */     checkIndex(columnIndex);
/* 6050 */     checkBoundaryForUpdate();
/*      */     
/* 6052 */     if (x == null) {
/* 6053 */       checkNullable(columnIndex);
/*      */     }
/* 6055 */     setUpdateStatus(true);
/* 6056 */     putUpdateParam_withScale(columnIndex, x, jType, scale);
/*      */   }
/*      */   
/*      */   public int getHoldability() throws SQLException
/*      */   {
/* 6061 */     return 1;
/*      */   }
/*      */   
/*      */   public int fetchData_for_multiRscaches() throws SQLException {
/* 6065 */     int ret = 1;
/*      */     
/* 6067 */     if (this.metaRsFlag) {
/* 6068 */       return ret;
/*      */     }
/*      */     
/* 6071 */     ret = DmdbCSI.fetch(this.statement, this.startRow, false, this, this.rsId, 
/* 6072 */       this.m_fromStandby);
/*      */     
/* 6074 */     return ret;
/*      */   }
/*      */   
/*      */   public boolean multiRsCaches()
/*      */   {
/* 6079 */     return this.m_multiRsCaches;
/*      */   }
/*      */   
/*      */   public void addRsCache(DmdbResultSetCache tmp) {
/* 6083 */     this.rsCacheList.addLast(tmp);
/*      */   }
/*      */ }


/* Location:              D:\Program Files\DBMS_20150813\jdbc\Dm7JdbcDriver17.jar!\dm\jdbc\driver\DmdbResultSet_bs.class
 * Java compiler version: 2 (46.0)
 * JD-Core Version:       0.7.1
 */